I am not sure what is going wrong with the create user api with roles.
Observations:
When fired without the roles it works fine, the payload is given below
{ "fullName": "unittestuser", "emailAddress": null, "enabled": true, "password": "39HN=K?E", "roles": null }
when same endpoint is invoked with the addition of roles then it fails giving the http error code 400 (bad request)
{ "fullName": "unittestuser", "emailAddress": null, "enabled": true, "password": "39HN=K?E", "roles": [ { "name": "unittest" }, { "name": "UsernamePasswordAuthentication" }, { "name": "Platform_NamedUser" }, { "name": "Platform_Anyone" }, { "name": "Platform_Metadata_MetadataInitializeUser" } ] }
The roles part works when the default roles shipped with JasperReports Server installation are sent.
{ "fullName": "unittestuser3", "emailAddress": null, "externallyDefined": false, "enabled": true, "password": "39HN=K?E", "roles": [ { "name": "ROLE_USER" }, { "name": "ROLE_ADMINISTRATOR" } ] }
I have checked the the new roles which I have created are present on the JR Server before the create user is hit, so I am not sure what is going wrong with the newly created roles. I am using REST api v2 for role creation as well as user creation.
I have also tried creation the user first with empty roles and then adding roles the update call still fails with the same error.
Let me know if anyone has a clue.
Fixed...the new 6.0 on wards requires tenantid to be passed with the name of the role. So instead of:
{ "name": "unittest" }
I passed:
{ "name": "unittest", "tenantId": "myorg" }