使用 Spring Security 时,oauth 范围和角色之间有啥区别吗? [复制]
Posted
技术标签:
【中文标题】使用 Spring Security 时,oauth 范围和角色之间有啥区别吗? [复制]【英文标题】:Is there any difference between oauth scopes and roles when using Spring Security? [duplicate]使用 Spring Security 时,oauth 范围和角色之间有什么区别吗? [复制] 【发布时间】:2017-04-19 03:23:34 【问题描述】:当使用 Spring 安全性通过 oauth 保护 API 时,作用域和角色之间有什么区别吗?
例如,当使用基于非 oauth 的基于角色的授权时,我可能有一个名为 john
的用户,其角色为 admin
。
如果我使用的是 oauth,那么 john
似乎只会有 admin
的范围。
我的想法是否正确?
【问题讨论】:
【参考方案1】:通常,您会使用范围来指示用户允许客户端应用程序的权限。想想 Facebook 如何询问用户是否允许某个第三方访问他的资源,例如:姓名、电子邮件、个人资料、朋友列表等。另一方面,您将使用角色来表示用户是否只是普通用户或管理员。
所以经验法则是:如果是关于用户授予客户端应用程序访问资源的权限,则使用范围来表示所需的权限。否则,根据用户的类型使用角色来表示权限。
【讨论】:
以上是关于使用 Spring Security 时,oauth 范围和角色之间有啥区别吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在没有 servlet api 的 webflux 项目中使用 OAuth2 和 Spring Security OAuth2 和 reactor netty
具有密码授予类型的 WebClient 的 Spring Security OAuth 客户端不要求新令牌
使用 spring-session 和 spring-cloud-security 时,OAuth2ClientContext (spring-security-oauth2) 不会保留在 Redis
在运行时延迟初始化 Spring Security + 重新加载 Spring Security 配置