2

我正在尝试使用 Azure AD 进行 SCIM 2.0 预配

作为前提,我为我的产品配备了 SCIM 服务器,并且我正在实施 PATCH 端点以与 Okta 和 Microsoft Azure AD 一起使用。

我已经完成了 Okta 的测试,所以我现在正在尝试使用 Azure AD。

我阅读了这篇文章active-directory-scim-provisioning和 SCIM 2.0 Specification 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 请求。

修补:

{                                                                                                                                                                                                                                                                               
    "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即使目标是单值属性,属性是数组类型是否正确(根据规范) ?在这种情况下使用$ref属性是否正确?

还是我误解了规范?

4

2 回答 2

2

他们已于 2018 年 12 月 18 日修复它 :)

在此处输入图像描述

https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/application-provisioning-config-problem-scim-compatibility

于 2019-01-18T15:19:13.357 回答
1

他们在value非复杂对象的实现上犯了一个错误。您可以在这里阅读更多相关信息https://social.msdn.microsoft.com/Forums/lync/en-US/e2200b69-4333-41ea-9f51-717d316c7751/automatic-user-provisioning-scim-restful-patch-payload -issue?forum=WindowsAzureAD

于 2018-10-16T16:47:13.167 回答