Class ScimPatch

Namespace
Kuestenlogik.Bowire.Scim
Assembly
Kuestenlogik.Bowire.Scim.dll

Applies a PATCH document to a resource (#96).

public static class ScimPatch
Inheritance
ScimPatch
Inherited Members

Remarks

PATCH is where SCIM implementations usually break, because the two connectors that matter disagree about the shape. Okta sends a lower-case op with an explicit path; Entra ID sends a capitalised Op and, for deactivation, no path at all — the value is an object whose members apply at the root. Both are legal. An implementation that handles one of them deactivates half its users.

An attribute this code does not model is not dropped: it is kept in the resource's extension bag, so the next GET returns what the connector sent. A connector that reads back a resource missing an attribute it just wrote concludes the write failed and retries, forever.

Methods

Apply(ScimGroup, ScimPatchRequest)

Apply request to a group.

public static void Apply(ScimGroup group, ScimPatchRequest request)

Parameters

group ScimGroup
request ScimPatchRequest

Exceptions

ScimPatchException

The document uses something unsupported.

Apply(ScimUser, ScimPatchRequest)

Apply request to a user.

public static void Apply(ScimUser user, ScimPatchRequest request)

Parameters

user ScimUser
request ScimPatchRequest

Exceptions

ScimPatchException

The document uses something unsupported.