Web接入QQ登录

如何接入QQ登录

参照开发者指南http://wiki.connect.qq.com/%E6%88%90%E4%B8%BA%E5%BC%80%E5%8F%91%E8%80%85

1、登录qq第三方平台

2、完善个人资料,提交审核

3、创建应用

OAuth2.0流程

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

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

参考地址

4、下载QQ SDK

  • 若为mavengradle,可以去maven仓库搜索Sdk4J
  • sdk提供一些比较方便的工具,如HttpClient,也可以自己封装http工具

maven

  1. <!-- https://mvnrepository.com/artifact/net.gplatform/Sdk4J -->
  2. <dependency>
  3. <groupId>net.gplatform</groupId>
  4. <artifactId>Sdk4J</artifactId>
  5. <version>2.0</version>
  6. </dependency>

gradle

  1. // https://mvnrepository.com/artifact/net.gplatform/Sdk4J
  2. compile group: 'net.gplatform', name: 'Sdk4J', version: '2.0'

5、下面讲一下大致流程

第一步 获取Authorization Code

  1. https://graph.qq.com/oauth2.0/authorize?response_type=code&g_ut=2&client_id=101481000&display=pc
  2. &scope=get_user_info&state=123456&redirect_uri=https://www.first-blood.cn/app

第二步 通过Authorization Code获取Access Token

  1. https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&code=C8619228BD9123EF1A6874F891FC123
  2. &client_id=101481000&client_secret=66825f34ee159f20572755a8fc1622d1&redirect_uri=https://www.first-blood.cn/app

第三步 通过Access Token获取openid

  1. https://graph.qq.com/oauth2.0/me?access_token=132A530A035CD5C71653291231320
  • 返回数据callback( {"client_id":"101484224","openid":"3E9E84C4ASADFSAGSDAF0DE8986D0D3"} );

第四步 获取用户信息

  1. https://graph.qq.com/user/get_user_info?access_token=132A530A035CD5C716532916608AWEF&oauth_consumer_key=101481000
  2. &openid=3E9E84C4ASADFSAGSDAF0DE8986D0D3
  • 数据库保存openid,此openid是唯一的,而且是固定的,系统用户与之关联即可实现qq登录

查看更多参数详情


0
3
0

添加评论

正在回复:
取消
1
0
3
0