OAuth2.0简介(QQ登录)

来源:互联网 发布:2017网络婚恋诈骗 编辑:程序博客网 时间:2024/05/17 03:58

OAuth2.0简介(自腾讯开放平台

目录

[隐藏]

  • 1 1.什么是“QQ登录OAuth2.0”
  • 2 2. QQ登录OAuth2.0接入方式
  • 3 3. QQ登录OAuth2.0总体处理流程
  • 4 4. QQ登录OAuth2.0开发说明

 

1. 什么是“QQ登录OAuth2.0”

OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。

QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。
QQ登录OAuth2.0采用OAuth2.0标准协议来进行用户身份验证和获取用户授权,相对于之前的OAuth1.0协议,其认证流程更简单和安全。
因此,请使用OAuth 1.0协议的网站升级为OAuth 2.0协议,升级方法详见OAuth1.0升级到OAuth2.0指引

Tips
如果您想对OAuth2.0开放标准进行扩展阅读,请参看:OAuth标准(英文)|OAuth维基百科(中文)

 

2. QQ登录OAuth2.0接入方式

QQ登录OAuth2.0支持网站接入移动应用接入

网站可通过以下两种方式接入:
(1)使用QQ互联提供的SDK包,用户体验统一,只需要修改少量代码,不需要理解验证授权流程,需要快速接入QQ登录的网站和移动应用可选用此方法。
QQ互联提供JavaScript,PHP,Java等多个版本的SDK,详见:SDK下载
QQ登录JS SDK详见:JS SDK使用说明
(2)根据QQ登录OAuth2.0协议,自主开发,此方法自定义程度较高,需要与现有系统进行整合的网站和移动应用可选用此方法。
详见:OAuth2.0开发文档

移动应用开发可通过以下两种方式接入:
(1)使用QQ互联提供的iOS,Android等平台的SDK包,用户体验统一,只需要修改少量代码,不需要理解验证授权流程,需要快速接入QQ登录的应用可选用此方法。
iOS与Android版本的SDK均支持web view与浏览器两种方式,即支持跳转到手机浏览器上进行QQ登录与验证流程,开发者可在SDK包中选择浏览器模式即可,但浏览器方式用户跳跃较大,不建议使用。
详见:SDK下载

(2)根据QQ登录OAuth2.0协议,自主开发,此方法自定义程度较高,需要与现有系统进行整合的移动应用可选用此方法。
建议移动应用使用webview的方式打开登录页面,登录成功后,获取accesstoken与openid,webview控件关闭,用户体验较好。
详见:OAuth2.0开发文档

对于Android2.1以下版本,访问https时会遇到签名证书验证的问题,解决方案可参考这里

 

3. QQ登录OAuth2.0总体处理流程

QQ登录OAuth2.0总体处理流程如下:
Step1:申请接入,获取appidapikey
Step2:开发应用,并设置协作者帐号进行测试联调;
Step3放置QQ登录按钮
Step4:通过用户登录验证和授权,获取Access Token
Step5:通过Access Token获取用户的OpenID
Step6调用OpenAPI,来请求访问或修改用户授权的资源。

 

4. QQ登录OAuth2.0开发说明

开发者需要根据腾讯提供的UI规范,请求说明,接口说明进行UI和代码的开发。
详细信息请参见OAuth2.0开发文档