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