【发布时间】:2018-03-16 16:53:45
【问题描述】:
我继承了一个现有的项目,而且我是使用 IdentityServer4 的新手,所以请耐心等待。
我收到一个带有 GET 请求的令牌,如下所示:
然后我们尝试使用响应提供的 access_token 检索成员信息,并将其用作不记名令牌。这似乎可行,但这是我坚持的部分:
在 API 内部,以下代码返回代表登录用户的 GUID,而不是电子邮件。
Claim cl = this.User.Claims.FirstOrDefault(x => x.Type == "sub");
我需要更改什么以允许 sub 提供登录用户的电子邮件?
我已尝试将电子邮件或配置文件(如您在上面看到的)添加到仅在我的声明列表中生成名称为“范围”和值为“电子邮件”的条目的范围。
编辑
似乎我需要在以某种方式生成令牌时更新范围。当我从数据库中获取设置时,我看到的所有示例都在内存设置中在线使用。当我在 te API 上调用 userinfo 端点时,我也只能访问“子”,例如
{
"sub": "xx"
}
【问题讨论】:
标签: asp.net-core identityserver4