非管理员用户的 WSO2 Identity Server SCIM /Me 端点问题

WSO2 Identity Server SCIM /Me endpoint issue for non admin user

我只想使用 SCIM 2.0 REST APIs,每个 this guide 从 5.4.0 版本的 WSO2IS 开箱即用。我正在使用 WSO2 IS 5.7。

当我 GET /scim2/Me 使用 admin 用户(HTTP 基本身份验证)时,我收到 200 OK 响应,但是当我尝试使用不同的用户调用此 API 时,我获得以下 HTTP 响应:

{
    "schemas": "urn:ietf:params:scim:api:messages:2.0:Error",
    "scimType": "invalidValue",
    "detail": "Required attribute id is missing in the SCIM Object.",
    "status": "400"
}

这里有什么问题?也许我错过了 WSO2IS SCIM API 用法的一些基础知识?

根据错误消息,您的用户没有 SCIM ID。登录到管理控制台并导航 Claims -> List -> wso2.org/claims and select User ID claim。单击该声明的编辑按钮选中 Supported by Default 并保存。 然后,导航到 Users and Roles -> List 并查看用户的个人资料并检查 scim id 是否为空。

如果 SCIM id 为空,则会出现上述错误。

有一个配置 (SCIMEnabled) 可以为用户存储 (https://docs.wso2.com/display/IS570/Configuring+a+Read-write+LDAP+User+Store) 启用 SCIM。导航到 <IS-HOME>/repository/conf/user-mgt.xml 并检查 SCIMEnabled 是否在您的用户存储中设置为 true。