我在WSO2 Identity Server 5.0.0中运行自定义UserStoreManager作为辅助用户存储。
它非常适合用户身份验证。
将其与OpenID Connect身份验证一起使用时,预期的声明不会在/userinfo?schema=openid
请求的响应中返回给客户端。
登录自定义UserStoreManager会显示使用以下声明名称调用getUserPropertyValues()方法:
["postalcode", "mail", "localityName", "sn", "cn", "nickName", "telephoneNumber", "gender", "givenName", "url", "country"]
对/userinfo
请求的响应实际上只返回该列表中的声明。无法获得其他索赔。
我不明白这个清单的来源。为“http://wso2.org/oidc/claim”配置的声明映射将例如“postalcode”定义为“Supported by Default = false”和“Required = false”。 所以我不指望它在列表中。另一方面,声明“sub”(或它映射到的名称:“uid”)不在列表中,但其在方言“http://wso2.org/oidc/claim”中的定义是
此外,“sub”是OIDC规范定义所要求的声明(见http://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse)。
在哪里可以定义应该由/ userinfo?schema = openid请求为成功通过身份验证的用户返回的声明列表?
答案 0 :(得分:0)
调用userinfo端点,我们获取http://wso2.com/oidc/claim方言下列出的声明的用户属性值。
在声明配置中,我们在用户存储中声明了uri和特定属性(辅助用户存储的主要和默认值)。 例如:http://wso2.org/oidc/claim/sub,其映射属性为uid
如果辅助用户存储不支持此默认属性值,我们必须在映射属性下配置它。 例如:
secondary user store domain = SECONDARY_
supported attribute value fore sub = subject
Configuration for mapped attribute = uid;SECONDARY_/subject
现在,您将获得正确的属性值列表到getUserPropertyValues()方法。
以下配置用于管理控制台配置文件管理
默认支持= true 在管理控制台中,默认情况下可以编辑此属性 必需=真 更新用户个人资料时必须提交此属性。