先去qq互联申请:app_id app_key
官方:
step1:放置qq登陆按钮
step2:获取authorization code
step3:通过authorization code 获取 access token
step4: 通过access token获取 open id值
step5:用access token和open id 去访问和修改用户数据
概况:
client 访问 web上的qq登陆,点击,进入web封装后的url,即带上app_id+callback+status,这个url跳转到qq得,此时,呈现在用户 面前的是跳转后的qq登陆页,用户在当前qq页面输入用户名密码登陆(此时是qq域名下,和我们的web无关),点击确认,进入qq后台验证后,qq服务 器回跳至 web的callback接口,我们的callback获取authorization code,然后再用
authorization code + app_id + app_key+ status+redirect_url 去qq服务器获取access code 。 然后再用 access code去获取open_id.....
网页上第一步: //网站自己包裹了一层
href="http://www.discuz.net/connect.php?mod=login&op=init&referer=forum.php&statfrom=login_simple"
网站内部跳转:
/Users/登录名/Sites/cosbbs/source/plugin/manyou/Service/Client/ConnectOAuth.php //discuz内部的实现
跳转到: //内部真正的跳转后到qq的页面,由该页面 输入qq用户名密码, 登陆成功后,回调我们web的接口,我们web接口拿到oauth_token再次去请求qq的接口
http://openapi.qzone.qq.com/oauth/qzoneoauth_authorize?oauth_consumer_key=10000034&oauth_token=9834503974295315228 //我们拿到oauth_token,然后再去qq接口,你看qq.com域名
回调: //回调
http://www.discuz.net/connect.php?receive=yes&mod=login&op=callback&referer=forum.php&oauth_token=9834503974295315228&openid=3037BB9E81C35433B45AA5BE0A575783&oauth_signature=c0vCneKTloXpW3PzxSOc1jDKhQ4%3D&oauth_vericode=1094966219×tamp=1428308280
回调完了,自动跳转到:
http://www.discuz.net/forum.php //登陆完成
http://www.discuz.net/connect.php?receive=yes&mod=login&op=callback&referer=forum.php&oauth_token=13940165893393575304&openid=3037BB9E81C35433B45AA5BE0A575783&oauth_signature=JYlMSEZ5a%2FAxYWfG6MITshWgYVs%3D&oauth_vericode=87598391×tamp=1428309036
//qq的路径:
先前端或后端跳转到qq登录框,这个跳转是带上appid的,(appid是申请到的,让qq知道你是哪个web)
private $_requestTokenURL = 'http://openapi.qzone.qq.com/oauth/qzoneoauth_request_token'; //带上appid去qq登录框页面
private $_oAuthAuthorizeURL = 'http://openapi.qzone.qq.com/oauth/qzoneoauth_authorize'; //获取 authorize token
private $_accessTokenURL = 'http://openapi.qzone.qq.com/oauth/qzoneoauth_access_token'; //带上authorize token去请求获取access token
private $_getUserInfoURL = 'http://openapi.qzone.qq.com/user/get_user_info'; //获取用户信息
相关链接:
http://connect.qq.com/ //qq第三方登陆、代码