我正在尝试使用Azure AD进行SCIM 2.0配置
作为前提,我有SCIM服务器用于我的产品,我正在实现PATCH端点,以便与Okta和Microsoft Azure AD一起使用。
我已经完成了Okta的测试,所以我现在正在尝试使用Azure AD。
我读过这篇文章active-directory-scim-provisioning和SCIM 2.0规范Section 3.5.2。
我在Azure AD上设置了一个企业应用程序,其中包含以下映射
然后,Azure AD发送以下JSON POST请求以创建分配给应用程序的用户到我的服务器:
发表:
{
"active": true,
"displayName": "$DISPLAY_NAME",
"emails": [
{
"primary": true,
"type": "work",
"value": "$EMAIL"
}
],
"externalId": "$EXTERNAL_ID",
"meta": {
"resourceType": "User"
},
"name": {
"formatted": "$FORMATTED"
},
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"userName": "$USER_NAME"
}
我可以正确处理POST请求,但我无法使用Azure AD中的PATCH请求。
PATCH:
{
"Operations": [
{
"op": "Replace",
"path": "name.givenName",
"value": [
{
"$ref": null,
"value": "$VALUE"
}
]
},
{
"op": "Replace",
"path": "name.familyName",
"value": [
{
"$ref": null,
"value": "$VALUE"
}
]
}
],
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
]
}
是否正确(根据规范)value
属性的类型为Array,即使目标是单值属性?在这种情况下,$ref
属性的使用是否正确?
或者我是否误解了规范?
答案 0 :(得分:1)
他们已于2018年12月18日修复它:)
答案 1 :(得分:0)