JasperReports Server 6.2 - Error 400:bad request - User creation with roles REST v2

603 Views Asked by At

I am not sure what is going wrong with the create user api with roles.

Observations:

  1. 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
    }
    
  2. 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"    }
      ]
    }
    
  3. 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.

1

There are 1 best solutions below

0
On BEST ANSWER

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" }