【问题标题】:Identityserver4 return custom values userinfo endpointIdentityserver4 返回自定义值 userinfo 端点
【发布时间】:2017-09-13 04:59:58
【问题描述】:
IdentityServer4 的 UserInfo 端点应该返回我在 ASPNetUserClaims 表中为给定用户拥有的所有声明,还是我需要一些特殊配置来获取它们?现在我只看到返回的默认值,在我浪费大量时间试图让它与我的自定义值一起工作之前,我想确保我没有做错什么。更糟糕的情况是,我可以使用其他一些现有条目来存储我的数据(挑战问题和响应),但我更愿意使用这些名称来存储它们(而不是在诸如 middle_name 和昵称之类的字段中)
【问题讨论】:
标签:
identityserver4
userinfo
【解决方案1】:
根据documentation,调用者需要发送一个代表用户的有效访问令牌。根据授予的范围,UserInfo 端点将返回映射的声明(至少需要 openid 范围)
获取自定义声明的正确方法是
- [在 IdentityServer 配置中] 将自定义声明类型添加到范围(资源)并将该范围添加到客户端的允许范围列表中。
- [in Client]向您的客户请求该范围(资源)。
如果您将身份服务器配置和客户端配置添加到问题中,它将帮助您获得更具体的答案。