IdentityServer v3缺少声明和身份信息

时间:2015-02-18 22:57:46

标签: asp.net-web-api claims-based-identity thinktecture-ident-server membershipreboot thinktecture

我在远程服务器上运行了IdentityServer和Membership Reboot以及IdentityManager,我使用IdentityManager的Admin UI来设置用户,并添加角色&声称对用户说。

我正在开发一个将使用远程服务器进行身份验证的WebApi / SPA项目。使用fiddler我可以从远程盒子上的IdentityManagner请求令牌,并使用此令牌来对抗需要授权的本地WebApi。如果令牌有效,WebApi会像正常一样处理,如果令牌是伪造的,我会得到401.效果很好。

问题是当我想要有关用户的其他信息时,没有任何声明或身份信息发生。我不确定问题是在IdentityServer端,WebApi端,还是我在获取令牌时没有正确执行某些操作。

1 个答案:

答案 0 :(得分:4)

我没有意识到我们需要将声明放在Scope定义中。如果其他人偶然发现了这一点我将我的范围改为以下

   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