QQ互联

https://connect.qq.com/

https://connect.qq.com/manage.html#/

https://kf.qq.com/


QQ互联mayikt:Appid:101869698 Appkey:7af6ecb24df7f2ea1d222438a995058e

网站地址:http://daijiangcheng.com

网站回调域:http://yuanxiaoxiang.com/qqLoginBack(需要修改本地host文件)


QQ联合登录实现思路:必须掌握OAuth2.0协议

1.生成QQ联合登录授权链接

https://graph.qq.com/oauth2.0/authorize?response_type =code&client_id=101869698&redirect_uri=http://yuanxiaoxiang.com/qqLoginBack

    (腾讯 )用户选择账号后,使用重定向方式跳转回回调地址http://yuanxiaoxiang.com/qqLoginBack 传递一个code参数(7DC0CF1976E3BC641BDEF268E358BE6C)

    code为http://yuanxiaoxiang.com/qqLoginBack?code=7DC0CF1976E3BC641BDEF268E358BE6C&state=ac2573203d4c98387b88c7d6e640569b

2.获取授权码code,使用授权码获取用户openid

使用code参数获取accessToken,使用accessToken获取用户信息(openid,头像,qq年龄)

https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=101869698&client_secret=7af6ecb24df7f2ea1d222438a995058e&code=7DC0CF1976E3BC641BDEF268E358BE6C&redirect_uri=http://yuanxiaoxiang.com/qqLoginBack

https://graph.qq.com/oauth2.0/me?access_token=78F063D0099C23DF1D005BE00A8909F2&expires_in=7776000&refresh_token=9CAF5D586B40034291BAB273A79ABB6D

得到opend------>callback( {"client_id":"101869698","openid":"011F957F99667A7BFAA8FF1CE4805BA1"} );

3.使用openid(011F957F99667A7BFAA8FF1CE4805BA1)可以查询用户信息

    openid作用:开放id,开放userid


代码实现思路:

 1.编写授权链接接口

 2.编写授权回调接口

        ***获取授权码

        ***使用授权码获取access_token

        ***使用access_token获取用户openid

 3.使用openid查询数据库user表中是否又关联

        ***select * from meite_user where QQ_OPENID=‘’;

        ***如何使用openid能够查询到用户信息,说明用户已经绑定成功,自动实现登录()

        ***如果使用openid没有查询到用户信息,说明用户没有绑定账户信息,跳转到关联账户页面

        ***关联账号成功后,修改数据库将openid插入表中 update meite_user set QQ_OPENID=‘’ where id='';


网站接入SDK下载:https://wiki.open.qq.com/wiki/website/SDK下载


打入本地仓库:mvn install:install-file -Dfile=E:/Sdk4J.jar -DgroupId=com.tengxun -DartifactId=sdk4j -Dversion=1.0 -Dpackaging=jar