IdentityServer4之Clients、Scopes、Claims与Token关联
参考
官方文档:client、identity_resource、api_resource:三类配置项介绍描述。
打一个不恰当的比喻来描述一下
User:表示自己 。
Client:表示客户经理,能指引或者代办一些业务。
Resource:表示银行,包括identity_resource(银行基本业务)、api_resource(银行特色业务)。多个resource比作多个分行。
user中的
Claims:自身在银行已经有的业务(包括自己YY的业务)。
client中的
Claims、Scopes是客户经理会推荐给你(User)的业务需不需要看自己。
Claims:好比优惠client可以选择给你或者不给。
Scopes:但是推荐给你的某个Scope业务可能与银行已经下线了但是client不知道。
Resource中的
Claims、Scopes、Scopes->Claims:表示银行的业务。
Token:银行认可自己拥有的业务信息。
User、Client、Resource配置
User配置
new TestUser { SubjectId = "1", Username = "ddr", Password = "123", Claims = new [] { new Claim("name", "ddr"), new Claim("get", "get_order"), //User Claim Type 与 Api Resource中的Claims、Scopes->Claims的Type匹配就会输出到Token new Claim("add", "add_order"), new Claim("add", "add_account"), new Claim("del", "del_all"), new Claim("website", "https://ddr.com") } },
Client配置
Identity Resources配置
一般不需要改变就是默认的OpenId、Profile、Email、Phone、Address。
<