应用场景
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的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务提供商"进行交互。
以上就是今天的分享!