天天看点

记一次QQ互联开发记一次QQ互联开发

记一次QQ互联开发

  • 记一次QQ互联开发
    • 基本知识
      • OAuth20
    • 接入流程
    • 问题说明
    • 使用的类和工具

基本知识

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维基百科(中文)

接入流程

QQ登录OAuth2.0总体处理流程如下:

Step1:申请接入,获取appid和apikey;

Step2:开发应用,并设置协作者帐号进行测试联调;

Step3:放置QQ登录按钮;

Step4:通过用户登录验证和授权,获取Access Token;

Step5:通过Access Token获取用户的OpenID;

Step6:调用OpenAPI,来请求访问或修改用户授权的资源。

文档资料

Step1:获取Authorization Code

Step2:通过Authorization Code获取Access Token

Step3:(可选)权限自动续期,获取Access Token

问题说明

在做这个接入的时候,我犯了一个错,那就是乱编填了我的回调地址。结果无法拿到必要的参数code。

使用的类和工具

HttpURLConnection

内网穿透工具