wso2 - WSO2 SCIM2.0 API GET USERS 空结果
问题描述
我已经配置了ldap 只读用户存储,我可以在使用管理面板时看到来自这个美国的用户。但是当我尝试调用SCIM 2.0 API来获取用户时,我总是得到一个空的结果。可能是什么问题?
要求:
GET https://wso2:9443/scim2/Users/?domain=mydomain
回复:
{
"totalResults": 0,
"startIndex": 1,
"itemsPerPage": 0,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
]
}
解决方案
为用户存储启用 SCIM
首先,请确保您已为该用户存储启用 scim。默认情况下,未为 ReadOnly LDAP 用户存储启用 scim。通过在 deployment.toml 文件中添加以下配置,您可以启用 scim。
[user_store]
scim_enabled = true
如果添加上述配置后问题仍然存在,请验证以下声明映射。
为用户 ID 声明配置映射属性。
对于 SCIM,我们需要一个唯一的 ID 让每个用户单独识别。当您在启用 SCIM 的用户存储上从 WSO2 IS 创建用户时,我们会为新用户创建一个随机 ID 并存储在映射到“ scimId ”属性的“ http://wso2.org/claims/userid ”声明中。
我假设您已经使用一组现有用户插入了只读 LDAP 用户存储。因此,您可能在此特定用户存储中没有“scimId”属性的值。这可能是这个问题的根本原因。所以这个用户可能没有scimId,因此没有任何唯一的用户 ID
核实
- 声明 > 列表 > “ http://wso2.org/claims ”。
- 转到名为“用户 ID”的声明的编辑视图 默认情况下为此声明启用支持。
- 现在转到列表用户页面并查看属于 LDAP 用户存储的用户的配置文件
- 请检查属性“用户 ID”是否有值。
- 或者,您可以直接从 ReadOnlyLDAP 端 检查是否有为“ http://wso2.org/claims/userid ”映射的任何值
如果您有上述问题,(“ http://wso2.org/claims/userid ”声明没有任何映射属性),
解决方案
推荐阅读
- python - 如何用python拟合指数函数
- javascript - JavaScript 中的模式匹配?
- python - Python在for循环中下载多个文件
- java - Chromebook 上的 Android 应用无法使用查看/获取用户事件
- c# - 与 dotnet core 3.0 mvc 身份验证反应(没有 dotnet core 默认身份验证)
- yum - 如何为静默 yum 安装过程指定参数?
- php - 为打印机格式化文本/纯文本
- regex - 用 Regex 或 AWK 替换引号中的文本
- grails - 用于组的 Grails Urlmapping 404
- c# - npgsql 说枚举未注册