使用Spring Security时,oauth范围和角色之间是否有任何区别?

Ole*_*Ole 1 spring-security oauth2

使用Spring安全性来保护带有oauth的API时,范围和角色之间有什么区别吗?

例如,当使用基于非oauth的基于角色的授权时,我可能有一个以john该角色命名的用户admin.

如果我正在使用oauth,那么它似乎john只会有范围admin.

我是否正确地思考这个问题?

sof*_*ang 8

通常,您将使用范围来指示用户允许客户端应用程序的权限.想想Facebook如何询问用户是否允许某个第三方访问他的资源,例如:姓名,电子邮件,个人资料,朋友列表等.另一方面,您可以使用角色来表示用户是否只是普通用户或管理员.

因此经验法则是:如果是关于用户授予客户端应用程序访问资源的权限,则使用范围来表示所需的权限.否则,根据用户的类型使用角色来表示权限.