limosa-io / laravel-scim-server

SCIM 2.0 Server implementation for Laravel
MIT License
47 stars 28 forks source link

"id" top-level attribute is returned as integer, but should be string #40

Closed uberbrady closed 1 year ago

uberbrady commented 1 year ago

One of our customers is trying to integrate with JumpCloud, and apparently their SCIM client is very rigid, and requires the "id" attribute to be a string, not an integer.

Unfortunately, that's actually in the Spec here: https://datatracker.ietf.org/doc/html/rfc7643#section-2.2 - specifically:

If not otherwise stated in Section 7, SCIM attributes have the following characteristics: ... o "type" is "string" (Section 2.3.1).

Furthermore, according to the SCIM spec https://datatracker.ietf.org/doc/html/rfc7643#section-3.1:

This identifier MUST be unique across the SCIM service provider's entire set of resources.

And if you use both Users and Groups, this is going to conflict. We don't currently use Groups, so that won't affect us, and if we do we will probably make the id become something like "group-1", "group-2", etc.

If there is interest, I would be happy to try and cobble together a PR that can implement some of these things. I'm also happy to provide any further details if it might help.

arietimmerman commented 1 year ago

Thanks for reporting. This should definitely be fixed. Probably it can be done in the Schema configuration, but if you can work on a PR that would be great.

uberbrady commented 1 year ago

This was solved in the referenced PR (but why didn't it close this then? I dunno.) I consider it resolved.