开放API接口或URL链接给第三方使用

為{幸葍}努か 提交于 2019-12-09 23:42:57

使用场景

场景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的优点:

  1. 支持的应用更广,支持pc、web、app等
  2. 有刷新令牌(OAuth的访问令牌失效后要重新授权获取,OAuth 2.0直接刷新获取新的访问令牌)
  3. 真正分离了服务器和用户

OAuth 2.0的运行流程如下图,摘自RFC 6749:

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!