OAuth2 协议中所具备的四大角色以及四种授权模式

539 阅读1分钟

每日思考题

描述 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获取自己的资源