OAuth: OAuth(开放受权)是一个开放标准,容许用户受权第三方网站访问他们存储在另外的服务提供者上的信息,而不须要将用户名和密码提供给第三方网站或分享他们数据的全部内容。web
QQ登陆OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都须要显式的向用户征求受权。
QQ登陆OAuth2.0采用OAuth2.0标准协议来进行用户身份验证和获取用户受权,相对于以前的OAuth1.0协议,其认证流程更简单和安全。api
网站可经过如下两种方式接入:
(1)使用QQ互联提供的SDK包,用户体验统一,只须要修改少许代码,不须要理解验证受权流程,须要快速接入QQ登陆的网站和移动应用可选用此方法。
QQ互联提供JavaScript,PHP,Java等多个版本的SDK,详见:SDK下载
QQ登陆JS SDK详见:JS SDK使用说明安全
(2)根据QQ登陆OAuth2.0协议,自主开发,此方法自定义程度较高,须要与现有系统进行整合的网站和移动应用可选用此方法。app
详见:OAuth2.0开发文档测试
移动应用开发可经过如下两种方式接入:
(1)使用QQ互联提供的iOS,Android等平台的SDK包,用户体验统一,只须要修改少许代码,不须要理解验证受权流程,须要快速接入QQ登陆的应用可选用此方法。
iOS与Android版本的SDK均支持web view与浏览器两种方式,即支持跳转到手机浏览器上进行QQ登陆与验证流程,开发者可在SDK包中选择浏览器模式便可,但浏览器方式用户跳跃较大,不建议使用。
详见:SDK下载网站
(2)根据QQ登陆OAuth2.0协议,自主开发,此方法自定义程度较高,须要与现有系统进行整合的移动应用可选用此方法。spa
建议移动应用使用webview的方式打开登陆页面,登陆成功后,获取accesstoken与openid,webview控件关闭,用户体验较好。
详见:OAuth2.0开发文档日志
QQ登陆OAuth2.0整体处理流程以下:
Step1:申请接入,获取appid和apikey;
Step2:开发应用,并设置协做者账号进行测试联调;
Step3:放置QQ登陆按钮;
Step4:经过用户登陆验证和受权,获取Access Token;
Step5:经过Access Token获取用户的OpenID;
Step6:调用OpenAPI,来请求访问或修改用户受权的资源。code
开发者须要根据腾讯提供的UI规范,请求说明,接口说明进行UI和代码的开发。
详细信息请参见OAuth2.0开发文档。