第三章:OAuth协议流程

2023-10-17 11:04:33 浏览数 (2)

应用场景

1、 原生app授权:app登录请求后台接口,为了安全认证,所有请求都带token信息,如果登录验证、 请求后台数据。 2、前后端分离单页面应用:前后端分离框架,前端请求后台数据,需要进行oauth2安全认证 3、第三方应用授权登录,比如QQ,微博,微信的授权登录。

步骤解读:

第1步:浏览器打开Gitee码云,点击微信方式授权登录,重定向到微信授权服务页面等待获取授权码;

第2步:用户打开手机登录微信扫描“二维码”,点击“允许”授权,将重定向到客户端(Gitee)应用提供的URI;

第3步:客户端(Gitee)使用上一步获取的授权码,向微信授权服务器申请令牌(Token);

第4步:微信授权服务器对客户端(Gitee)进行认证以后,确认无误,同意发放令牌;

第5步:客户端使用令牌向资源服务器(微信)申请获取资源;

第6步:资源服务器(微信)确认令牌无误后,同意向客户端开放资源;

角色

  • Third-party application:第三方应用程序,又称"客户端"(client),即例子中的"Gitee"。
  • HTTP service:HTTP服务提供商,简称"服务提供商",即例子中的微信。
  • Resource Owner:资源所有者,又称"用户",也就是你(user)。
  • User Agent:用户代理,比如浏览器。
  • Authorization server:授权服务器,即服务提供商专门用来处理认证授权的服务器。
  • Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与授权服务器,可以是同一台服务器,也可以是不同的服务器。  

OAuth的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务提供商"进行交互。

以上就是今天的分享!

0 人点赞