IdentityServer v3 缺少声明和身份信息
Missing Claims and Identity Info with IdentityServer v3
我在远程服务器上有带成员重新启动的 IdentityServer 和 IdentityManager 运行,我使用 IdentityManager 的 Admin UI 设置用户,并向所述用户添加角色和声明。
我正在开发一个 WebApi/SPA 项目,它将使用远程服务器进行身份验证。使用提琴手,我可以从远程盒子上的 IdentityManagner 请求一个令牌,并使用这个令牌来对抗需要授权的本地 WebApi。如果令牌有效,则 WebApi 会正常处理,如果令牌是假的,我会收到 401。效果很好。
问题是当我需要有关用户 none 的声明或身份信息的其他信息时。我不确定问题是出在 IdentityServer 端、WebApi 端,还是我在获取令牌时没有做正确的事情。
我没有意识到我们需要将声明放在范围定义中。万一其他人偶然发现了这个,我将我的范围更改为以下
var scopes = new List<Scope>
{
new Scope
{
Enabled = true,
Name = "publicApi",
Description = "Access to our public API",
Type = ScopeType.Resource,
IncludeAllClaimsForUser = true, //I'll filter this down later
}
};
scopes.AddRange(StandardScopes.All);
return scopes;
可以找到更多详细信息here
我在远程服务器上有带成员重新启动的 IdentityServer 和 IdentityManager 运行,我使用 IdentityManager 的 Admin UI 设置用户,并向所述用户添加角色和声明。
我正在开发一个 WebApi/SPA 项目,它将使用远程服务器进行身份验证。使用提琴手,我可以从远程盒子上的 IdentityManagner 请求一个令牌,并使用这个令牌来对抗需要授权的本地 WebApi。如果令牌有效,则 WebApi 会正常处理,如果令牌是假的,我会收到 401。效果很好。
问题是当我需要有关用户 none 的声明或身份信息的其他信息时。我不确定问题是出在 IdentityServer 端、WebApi 端,还是我在获取令牌时没有做正确的事情。
我没有意识到我们需要将声明放在范围定义中。万一其他人偶然发现了这个,我将我的范围更改为以下
var scopes = new List<Scope>
{
new Scope
{
Enabled = true,
Name = "publicApi",
Description = "Access to our public API",
Type = ScopeType.Resource,
IncludeAllClaimsForUser = true, //I'll filter this down later
}
};
scopes.AddRange(StandardScopes.All);
return scopes;
可以找到更多详细信息here