先去qq互联申请:app_id app_keyphp
官方:前端
step1:放置qq登录按钮web
step2:获取authorization code后端
step3:经过authorization code 获取 access tokenapi
step4: 经过access token获取 open id值服务器
step5:用access token和open id 去访问和修改用户数据app
概况:网站
client 访问 web上的qq登录,点击,进入web封装后的url,即带上app_id+callback+status,这个url跳转到qq得,此时,呈如今用户 面前的是跳转后的qq登录页,用户在当前qq页面输入用户名密码登录(此时是qq域名下,和咱们的web无关),点击确认,进入qq后台验证后,qq服务 器回跳至 web的callback接口,咱们的callback获取authorization code,而后再用url
authorization code + app_id + app_key+ status+redirect_url 去qq服务器获取access code 。 而后再用 access code去获取open_id.....spa
网页上第一步: //网站本身包裹了一层
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第三方登录、代码