微服务开放平台接口设计
Posted ming-blogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务开放平台接口设计相关的知识,希望对你有一定的参考价值。
什么是开放平台接口
在一些大型互联网公司,随着公司的业务发展逐渐庞大,需要和外部合伙伙伴进行合作,需要将公司的接口开放给外部其他合伙伙伴进行调用。
比如腾讯的 QQ互联网、微信开放平台、蚂蚁金服开放平台 、钉钉开放平台、微博开放平台,比如实现功能QQ联合登陆、微信扫码登陆比如腾讯的QQ互联网、微信开放平台、蚂蚁金服开放平台 、微博开放平台,比如实现功能QQ联合登陆、微信扫码登陆。
还有就是在大型集团公司中,分为总公司,和旗下多个分公司,总公司与分公司相互通讯也可以采用开放平台形式对接口进行授权。
什么是Oauth2.0
OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。
QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。
QQ登录OAuth2.0采用OAuth2.0标准协议来进行用户身份验证和获取用户授权,相对于之前的 OAuth1.0协议,其认证流程更简单和安全。
在开放平台接口设计中,遵循Oauth2.0认证授权协议 JWT。
QQ授权用到的字段属性介绍:
appid:应用的唯一标识。在OAuth2.0认证过程中,appid的值即为oauth_consumer_key的值。商户号 永久不能进行修改的,就像我们的身份证号一样。
appkey:appid对应的密钥,访问用户资源时用来验证应用的合法性。在OAuth2.0认证过程中,appkey的值即为oauth_consumer_secret的值。商户密钥 这个可以进行修改,但是应该注意修改过之后进行同步的问题。
授权码Code:获取accessToken。
accessToken:调用接口权限访问令牌。
回调地址:授权成功之后,重定向的地址。
openId:开放平台生产唯一的用户Id。
Oauth2授权原理
OAuth认证和授权的过程如下:
1、用户访问第三方网站网站,想对用户存放在服务商的某些资源进行操作。
2、第三方网站向服务商请求一个临时令牌。
3、服务商验证第三方网站的身份后,授予一个临时令牌。
4、第三方网站获得临时令牌后,将用户导向至服务商的授权页面请求用户授权,然后这个过程中将临时令牌和第三方网站的返回地址发送给服务商。
5、用户在服务商的授权页面上输入自己的用户名和密码,授权第三方网站访问所相应的资源。
6、授权成功后,服务商将用户导向第三方网站的返回地址。
7、第三方网站根据临时令牌从服务商那里获取访问令牌。
8、服务商根据令牌和用户的授权情况授予第三方网站访问令牌。
9、第三方网站使用获取到的访问令牌访问存放在服务商的对应的用户资源。
QQ联合登录的流程
1、 生成授权Code链接,获取授权码
2、 根据用户获取的授权码,获取对应的AccessToken
3、 根据AccessToken获取对应的openId
4、 根据openId获取对应的用户信息
QQ开放平台地址:http://wiki.connect.qq.com/
以上是关于微服务开放平台接口设计的主要内容,如果未能解决你的问题,请参考以下文章