每日思考题
描述 OAuth2 协议中所具备的四大角色以及四种授权模式
拙见:
Oauth2中的4种授权方式:
- 授权码(authorization-code)
1.请求授权码;
2.返回授权码;
3.请求令牌;
4.返回令牌(access_token).
这种方式是最常用的流程,安全性也最高,它适用于那些有后端的 Web 应用。授权码通过前端传送,令牌则是储存在后端,而且所有与资源服务器的通信都在后端完成。这样的前后端分离,可以避免令牌泄漏。
-
隐藏式(implicit) 这种方式把令牌直接传给前端,是很不安全的。因此,只能用于一些安全要求不高的场景,并且令牌的有效期必须非常短,通常就是会话期间(session)有效,浏览器关掉,令牌就失效了。
-
密码式(password) 这种方式需要用户给出自己的用户名/密码,显然风险很大,因此只适用于其他授权方式都无法采用的情况,而且必须是用户高度信任的应用。
-
客户端凭证(client credentials) 这种方式给出的令牌,是针对第三方应用的,而不是针对用户的,即有可能多个用户共享同一个令牌。
Oauth2中的4大角色
-
Resource Owner(资源拥有者)
-
Resource Server(资源服务器)
-
第三方应用客户端(Client),例如csdn通过QQ登录,csdn就属于QQ应用的客户端
-
Authorization Server(授权服务器)
角色之间的关系:
Resource Owner在Authorization Server注册Client信息,通过Client去访问Authorization Server拿到token凭证,通过token凭证去Resource Server获取自己的资源