OAuth授权原理
OAuth第三开放平台授权
绕口令: 第3方用户想获取第1方用户在第2方上的权限.
如JD的QQ,微信授权登录.
举个生活中的例子,就明白了.1
小明要取他爸爸王叔叔在招商银行存的500块钱.
角色:
- 用户 (王叔叔)
- 平台 (招商银行)
- 第三方 (小明)
分解步骤:
- 小明 找 王叔叔 签 授权书
- 王叔叔 签 授权书 ,并给小明 银行卡
- 小明 拿着 授权书 和 银行卡 到招商银行 取钱
- 招商银行 先验证小明的身份
- 招商银行 确定小明的身份没问题后,再验证 授权书 的内容无误然后再把钱给小明
上面就是一个简单的第三方授权,可以算上Oauth1.0;
支票系统,可以算上OAuth2.0
支票的样子:
支票系统不需要用户的银行卡及密码.
支票的基本内容:
平台: 招商银行
用户: 出票人账号和签名
第三方: 收款人
模式类型: 转账/现金
权限: 金额和用途
时间: 有效期,开票日期
支票 相当于 AccessToken
AccessToken主要包含以下内容:
- 授权方
- 代理方(第三方)
- 授权权限内容
- 有效期限
支票系统肯定包含很多细节,如支票的防伪,防篡改,鉴别,有效性.
有记名支票,不记名支票.
Oauth2.0 交易流程如下.
解释:
认证服务器,如QQ开放平台,微信平方平台,微博开放平台等.
第三方平台,指我们开发的第三方应用,如论坛,商城等.可以使用微信微博登录.
用户,需要用微信等去登录第三方平台的用户.
权限,一般平台,授权第三方获取用户头像,昵称,手机号,也有操作,如支付,发微博,分享朋友圈等.
OAuth2.0关键点,授权码code,授权凭证AccessToken.
其它都是这些实现过程的中安全控制,边界控制,操作记录,性能优化,防伪方案,账号系统,权限管理等等.
本文作者:阿金
本文链接:http://www.hi-arkin.com/2019/03/01/PHP/oauth/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
扫描二维码,分享此文章