一步一步学习IdentityServer3 (15) 授权模式那些事
总结一句话,其实很简单
在什么Clients 拿的认证权限Scope 就去 去开什么Scope限制的服务接口门
在写Clients的时候,会有Scope,看下面的代码
new Client { ClientName = "手机APP", ClientId = "lym.password", Enabled = true, AccessTokenType = AccessTokenType.Reference, Flow = Flows.ResourceOwner, ClientSecrets = new List<Secret> { new Secret("21B5F798-BE55-42BC-8AA8-0025B903DC3B".Sha256(),"WebAPI客户端") }, AllowedScopes = new List<string> { Constants.StandardScopes.OpenId, Constants.StandardScopes.Profile, Constants.StandardScopes.OfflineAccess, "cloudservices" } },
这里是 密码模式,通过这个客户端拿到具有
cloudservices Scope的钥匙,那么我们就去开门
这里我有设置了一个WebAPI
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions { Authority = LYM.Unity.AppSetting.AppSettingsHelper.GetString("Authority"), ValidationMode = ValidationMode.ValidationEndpoint, RequiredScopes = new[] { //"openid", //"profile", //"offline_access", "cloudservices" } });
这个就是相当于门上的锁,我设置了需要什么样的钥匙来开
其次是所谓的客户端模式 也是一样的道理~~~
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!
本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/liyouming欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接。