理解OAuth 2.0

理解OAuth 2.0

OAuth 2.0的作用

  1. 用于第三方的安全认证。(第三方登入像QQ登入王者)
大厂大多都有OAuth 2.0的接口,具体查看相应的开发平台

OAuth 2.0 的名词(以微信登入百度举例)

(1) Third-party application(百度):第三方应用程序,本文中又称"客户端"(client),即上一节例子中的"云冲印"。

(2)HTTP service:HTTP服务提供商,本文中简称"服务提供商"。

(3)Resource Owner(客户:一个人):资源所有者,本文中又称"用户"(user)。

(4)User Agent(浏览器):用户代理,本文中就是指浏览器。

(5)Authorization server(这是微信的认证服务器):认证服务器,即服务提供商专门用来处理认证的服务器。

(6)Resource server(微信的资源服务器):资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。

OAuth关键思路

主要是为了取得Token令牌(相当于许可证),
流程图

来源网络

理解

(A)用户打开客户端(百度)以后,客户端要求用户给予授权。(第三方登入弹出要用微信二维码)

(B)用户同意给予客户端(百度)授权。(微信手机同意登入)

(C)客户端(百度)使用上一步获得的授权,向认证服务器申请令牌。(向这是向微信的认证服务器发出请求的报文)

(D)认证服务器对客户端(百度)进行认证以后,确认无误,同意发放令牌(token)。(向这是微信的认证服务器发出返回报文)

(E)客户端(百度)使用令牌,向资源服务(微信的资源服务器)器申请获取资源。(这也是一个请求报文)

(F)资源服务器(微信的资源服务器)确认令牌无误,同意向客户端(百度)开放资源。(返回报文,返回报文携带着用户的资源信息)

客户端的授权模式

客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。OAuth 2.0定义了四种授权方式。

复杂程度不断减小,即对第三方应用的信任不断增加,速度也会提高
  1. 授权码模式(authorization code)
  2. 简化模式(implicit)
  3. 密码模式(resource owner password credentials)
  4. 客户端模式(client credentials)

授权码模式

l来源b站
详细内容看阮一峰的网络日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值