Forum Discussion
Azure AD SCIM Validator is in General Availability (GA) Status
I mark some attributes as immutable but SCIM validator still send PATCH request with Patch Operation to `replace` those fields.
How can I get rid of it?
And the Validator reports some values missing in the Fetched Resource, but they do exist there.
- owinoakeloMay 24, 2023Brass Contributor
chanhle The experience with immutable attributes is an issue with the validator and we are working to fix it. You can ignore such calls
On the second issue with the patch response: The actual flow is we send a PATCH request>You acknowledge and send a response> we send a GET to confirm that you committed the patch> we compare what we sent in the PATCH with what you return in the GET. This error means that some of the changes have not been done on the identities that GET calls.
Hope this clarifies the issue.
- chanhleMay 25, 2023Copper Contributor
I am sorry. but when I monitor the requests from the validator , I don't see the second `GET request` you mentioned as below
we send a GET to confirm that you committed the patchAnd even when I manually send a GET request which has the same path (/scim/Users/<UserID>) with the PATCH request, the response is correct and the same as the response of the PATCH request (sent by the validator).
Could you help me verify again this case?
PATCH request body
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "emails[type eq \"work\"].value", "value": "email address removed for privacy reasons" }, { "op": "replace", "path": "roles[primary eq \"True\"].display", "value": "3WF31QEVRLRR" }, { "op": "replace", "path": "roles[primary eq \"True\"].value", "value": "HISMH3ZHYVXI" }, { "op": "replace", "path": "roles[primary eq \"True\"].type", "value": "M4PBMUTFLU7N" }, { "op": "replace", "value": { "userName": "email address removed for privacy reasons", "active": false, "externalId": "b76619a5-6635-450c-9f61-bb3cb7882460", "displayName": "AIPZKDL1CCXH", "preferredLanguage": "Q17Q2L9WRNLS" } } ] }
The PATCH response body
{ "id": "601E76C3-0BF5-40DD-B0BB-74C766B7E1C9", "externalId": "b76619a5-6635-450c-9f61-bb3cb7882460", "userName": "email address removed for privacy reasons", "active": false, "preferredLanguage": "Q17Q2L9WRNLS", "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "meta": { "resourceType": "User", "location": "/scim/Users/601E76C3-0BF5-40DD-B0BB-74C766B7E1C9" }, "emails": [ { "value": "email address removed for privacy reasons", "type": "work" } ], "roles": [ { "value": "HISMH3ZHYVXI", "display": "3WF31QEVRLRR", "type": "M4PBMUTFLU7N", "primary": "True" } ], "displayName": "AIPZKDL1CCXH" }
The GET response body
{ "id": "601E76C3-0BF5-40DD-B0BB-74C766B7E1C9", "externalId": "b76619a5-6635-450c-9f61-bb3cb7882460", "userName": "email address removed for privacy reasons", "active": false, "preferredLanguage": "Q17Q2L9WRNLS", "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "meta": { "resourceType": "User", "location": "/scim/Users/601E76C3-0BF5-40DD-B0BB-74C766B7E1C9" }, "emails": [ { "value": "email address removed for privacy reasons", "type": "work" } ], "roles": [ { "value": "HISMH3ZHYVXI", "display": "3WF31QEVRLRR", "type": "M4PBMUTFLU7N", "primary": "True" } ], "displayName": "AIPZKDL1CCXH" }