使用场景
场景1
应用做到一定程度后,会有一些第三方用户或机构要对接部分的功能进入他们自己的应用。
比如:要通过URL的方式提供一个含有加密视频文件的H5页面给第三方使用。
实现思路:
1. 后台管理系统给不同的第三方开权限,分别提供AppID和AppSecret
2. 服务端提供一个API接口(如:getAccessToken),入参为:AppID和AppSecret,返回值为:token(token要设置有效期,可以短一点)
3. 使用URL时带上token这个参数
4. 服务端校验token成功后开放权限
PS:也可以用AppID(应用的唯一标识)、AppKey(公匙)、AppSecret(私匙)三个参数来实现
场景2
类似微信支付、微信公众号的第三方接入应用。
实现思路:
参考OAuth 2.0的设计
什么是OAuth 2.0
什么是OAuth ?
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频),而无需将用户名和密码提供给第三方应用。它是提供一个令牌来访问他们存放在特定服务提供者的数据,每一个令牌授权一个特定的网站在特定的时段内访问特定的资源。
什么是OAuth 2.0 ?
OAuth 2.0是OAuth协议的下一版本,但不向后兼容OAuth。但OAuth 2.0保留了与OAuth相同的整体架构 。
OAuth 2.0的优点:
- 支持的应用更广,支持pc、web、app等
- 有刷新令牌(OAuth的访问令牌失效后要重新授权获取,OAuth 2.0直接刷新获取新的访问令牌)
- 真正分离了服务器和用户
OAuth 2.0的运行流程如下图,摘自RFC 6749:
来源:CSDN
作者:joinclear
链接:https://blog.csdn.net/joinclear/article/details/103461184