SCIM 2.0 SaaS connector roles provisioning issue

:bangbang: Please be sure you’ve read the docs and API specs before asking for help. Also, please be sure you’ve searched the forum for your answer before you create a new topic.

I’m using Genesys SCIM 2.0 SaaS Connector. When I try to assign an access of type roles to an identity to create an account on the source, I’m getting an error

  • What errors did you face:

  • Share the details of your efforts (code / search query, workflow json etc.)?

I also inserted a before provisioning rule that manipulates the roles attribute to create an array list that contains object as expected by the connector.

The configuration of the roles attribute under an account already present on the connector is the follow:

“schemas”: [ “urn:ietf:params:scim:schemas:core:2.0:User”, “urn:ietf:params:scim:schemas:extension:enterprise:2.0:User”, “urn:ietf:params:scim:schemas:extension:genesys:purecloud:2.0:User” ]

“roles”: [ { “value”: “TEST_ROLE” } ]

  • What is the result you are getting and what were you expecting?

I’d like to create a Genesys account by assigning a type Roles entitlement.

With a type group entitlement, I can create an account without using a before-provisioning rule.

Thanks in advance

Hey Noemi,

I suspect this error is due to connector falling back to default behaviour, which is sending the value in string format.

Could you please check these points?

  1. During testing, are you trying to provision with single role, like “roles”: [ { “value”: “TEST_ROLE” } ]?
    Reason: rolesAttrReq.getValue() might be returning String in case there is only one role i.e., one Attribute Request, which will skip the logic in the following instanceof check.
  2. Does this work if you try with two or more than two roles?

If it works with multiple roles, then the problem is with the type check, just make sure you handle String object and add the single value to list if it is of type String.

HTH.

Hi Zeel,

Thanks for the reply! By assigning two roles entitlements, creation works without errors! How can I resolve the error when assigning only one type roles entitlement ?

Can I solve with this condition?

if (rolesValue instanceof List) {
rolesList = (List) rolesValue;
} else if (rolesValue instanceof String) {
rolesList.add((String) rolesValue);
} else {
log.debug("BeforeProvisioningRule_RolesFix - Formato roles non valido per: " + acctReq.getNativeIdentity());
continue;
}

Yup, this would do the trick

Ok, thank you so much!

I’ll update you after the support team will upload again the rule.

Regards,

Noemi

1 Like