Setting user password using REST 2.0?

I’m trying to create an external service that will be used to CRUD RT users. For this I am using REST API 2.0.

Everything works fine except for updating user passwords. I can create users with their respective passwords just fine.

Example code in JS Superagent:

await request({
        post: `http://ip_address/REST/2.0/user`,
        set: ["Authorization", `token ${process.env.API_KEY}`],
        send: { Name: "test", EmailAddress: "test@test.test", Password: "password12345", Privileged: 1 }
    });

The response is successful. I can even use the specified username and password to log into the RT dashboard.

However this does not work:

await request({
        put: `http://ip_address/REST/2.0/user/test`,
        set: ["Authorization", `token ${process.env.API_KEY}`],
        send: { Password: "password123" }
    });

It returns an HTTP 500 error with no error message.

The httpd error log shows this error:

[error]: RT::User::Password Unimplemented in RT::Record. (/opt/rt5/sbin/../lib/RT/Record.pm line 958)  (/opt/rt5/sbin/../lib/RT/REST2/Middleware/Log.pm:62)

How do I update the password without errors? Are some patches needed in Record.pm?

2 Likes

Did you ever manage to get this figured out?
I am facing the same issue on RT5.0.2

Is it possible?
Any update on this?

Hi!

I am facing the same issue on RT5.0.5

RT::User::Password Unimplemented in RT::Record. (/opt/rt5/sbin/…/lib/RT/Record.pm line 959) (/opt/rt5/sbin/…/lib/RT/REST2/Middleware/Log.pm:62)