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值了。
网友评论