首页 文章

使用SCIM 2.0进行Azure AD用户供应

提问于
浏览
1

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

作为前提,我有SCIM服务器用于我的产品,我正在实现PATCH endpoints ,以便与Okta和Microsoft Azure AD一起使用 .

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

我读了这篇文章active-directory-scim-provisioning和SCIM 2.0规范Section 3.5.2 .

我在Azure AD上设置了一个企业应用程序,其中包含以下映射
mapping

然后,Azure AD发送以下JSON POST请求以创建分配给应用程序的用户到我的服务器:

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 属性的使用是否正确?

或者我误解了规范?

1 回答

相关问题