php+Oauth认证

 先去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&timestamp=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&timestamp=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第三方登录、代码

相关文章
相关标签/搜索