首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oidc-client-js没有从Identity Server 4获得正确的声明

oidc-client-js没有从Identity Server 4获得正确的声明
EN

Stack Overflow用户
提问于 2018-03-12 08:49:42
回答 1查看 4.3K关注 0票数 6

我有一个身份服务器4的本地实例,我正在尝试遵循本指南来创建Javascript客户端。这使用了oidc-客户端js库,我使用的是signin弹出方法,所以我在事件处理程序中的签名如下所示:

代码语言:javascript
复制
signin(e) {
    e.preventDefault();
    this.oidcUserMgr.signinPopup({state:'some data'}).then(function(user) {
        console.log("signed in", user.profile);
    }).catch(function(err) {
        console.log(err);
    });
} 

身份验证看起来很好--我被重定向到身份服务器,它接受客户端请求,验证我的登录,并将我返回到客户端应用程序。但是,文档指出,上面代码中的user.profile对象应该包含用户声明,但它不包含。

sub属性是刚刚通过身份验证的用户的正确ID。但是,我的身份服务器也针对我的客户请求的其他范围(profileemail)发出声明,所以我应该看到诸如namepreferred_usernameemail等的声明。我可以观察到在IS4中调试我的IS4实现时发出的这些声明。此外,如果我使用user对象返回的access_token向本地运行的另一个API ( ASP.NET Web )发出请求,我确实在this.User.Claims中看到了这些声明

那么,如何才能在我的Javascript代码中获得这些声明呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-13 00:50:14

这些用户声明可能在ID令牌中。要做到这一点,请检查您的IDP提供者的客户端配置中是否有AlwaysIncludeUserClaimsInIdToken = true,如

代码语言:javascript
复制
        public static IEnumerable<Client> GetClients()
    {
        return new List<Client>()
        {
            new Client()
            {
                ClientName = "IDP Client",
                ClientId = "client",
                ClientSecrets = { new Secret("secret".Sha256()) },
                AllowedGrantTypes =  GrantTypes.Hybrid,
                RedirectUris = new List<string>()
                {
                    "http://localhost:60811/signin-oidc"
                },
                AllowedScopes =
                {
                    IdentityServerConstants.StandardScopes.OpenId,
                    IdentityServerConstants.StandardScopes.Profile,
                    "myapi"
                },
                AlwaysIncludeUserClaimsInIdToken = true,
                AllowOfflineAccess = true
            },
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49231189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档