As per the spec here:
The SCIM protocol specifies well known endpoints and HTTP methods for
managing Resources defined in the core schema; i.e., User and Group
Resources correspond to /Users and /Groups respectively. Service
Providers that support extended Resources SHOULD define Resource
endpoints using the established convention; pluralize the Resource
name defined in the extended schema by appending an 's'. Given there
are cases where Resource pluralization is ambiguous; e.g., a Resource
named 'person' is legitimately 'persons' and 'people' Consumers
SHOULD discover Resource endpoints via the Resource Type attribute
'endpoint'.
I see that there is not much information on the extended subresources of the
already defined well known endpoints. Here's an example.
Suppose an application has a User who HAS assigned Projects which inturn HAS
assigned Tasks per project. In this case, the REST urls would look something
like:
scim/v1/Users/{userId}/Projects/{projectId}/tasks.
My question is: does this still comply SCIM specs? Or resource handling like
these should be on a separate REST platform because it doesn't have anything to
do directly with Identity Management (although one might argue that these could
be entitlements assigned to the User. But most of the times, these MIGHT NOT BE
entitlements. Just some entities assigned to the user who inturn have entities
of their own)
Another question here would be, if I am someone trying to write a generic
SCIM-REST client based off of the specs, how would I take into consideration
and handle the above resources because from what it seems, each scim service
provider could have their own Object that a User gets in their application (or
gets assigned to), for eg: Projects in the above case.
I guess it's more of a design question as to where a service provider should
draw the line and encapsulate their apis as SCIM apis or dedicated REST apis.
Whatever the specs define, it should be clear, especially when it's underlying
implementation is indeed REST and service providers shouldn't get carried away
with them "complying" with SCIM just because the "extended resources" are
loosely defined in the specs.
Original issue reported on code.google.com by shiv...@totvslabs.com on 11 Dec 2013 at 4:59
Original issue reported on code.google.com by
shiv...@totvslabs.com
on 11 Dec 2013 at 4:59