• php+Oauth认证


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

  • 相关阅读:
    微软ADFS成本评估
    身份访问管理(IAM)与多因素认证(MFA)有怎样的交集?
    宁盾堡垒机双因素认证方案
    无线wifi网络企业微信认证解决方案
    《暴走IT》第5话:“裸泳”的办公软件
    微软AD域如何实现用户自助修改/重置密码?
    Windows操作系统双因素身份认证解决方案
    如何用企业微信、飞书等扫码登录 Office 365
    无线网络真的安全吗?
    远程办公身份安全加固方案
  • 原文地址:https://www.cnblogs.com/zhongyuan/p/4386926.html
Copyright © 2020-2023  润新知