Identity Server 4 学习(五)增加自定义Iden

2021-11-10  本文已影响0人  寻找无名的特质

Identity Resources是身份资源,可以认为一个资源可以访问若干Claim。如果我们定义了User的Claim,需要通过定义Identity Resource来让客户端访问。比如我们在User 定义中增加了age,客户端可以获得,就需要定义一个Identity Resource,比如名称为myres,包含age这个claim:


图片.png

然后,在Client定义中,允许Client访问这个Resource:


图片.png
在Client的代码中增加获取这些Resources的代码:
                    options.Scope.Add("openid");
                    options.Scope.Add("profile");
                    options.Scope.Add("myres");
                    options.Scope.Add("email");
                    options.Scope.Add("roles");
                    options.Scope.Add("api1");

注意,由于我们定义的age不是标准的claim,还需要定义映射,否则无法获取值:

                     options.ClaimActions.MapUniqueJsonKey("age", "age");
                    options.ClaimActions.MapUniqueJsonKey("nickname", "nickname");

这样,我们就可以获取自定义的Claim值了。

上一篇 下一篇

猜你喜欢

热点阅读