QQ授权登录

来源:http://www.sh-fengwen.com 作者:家常菜谱 人气:183 发布时间:2019-09-24
摘要:1.下载官方的API(保留其中的API集成文件)2.html页面(ahref='?=Url::toRoute('/user/qqoauth')?'/a);3.控制器:publicfunctionactionQqoauth(){require_once("frontend/web/qqAPI/qqConnectAPI.php");$qc= newQC();$qc-qq_login()

1.下载官方的API(保留其中的API集成文件)2.html页面(<a href='<?=Url::toRoute('/user/qqoauth')?>'></a>);3.控制器:public function actionQqoauth(){require_once("frontend/web/qqAPI/qqConnectAPI.php");$qc = new QC();$qc->qq_login();}4.回调页处理函数//qq授权登录if(yii::$app->request->get!="" || Yii::$app->session['qqlogin']=="qq"){Yii::$app->session['qqlogin'] = 'qq';require_once("frontend/web/qqAPI/qqConnectAPI.php");$qc = new QC();if(Yii::$app->session['access']){$access=Yii::$app->session['access'];$openid=Yii::$app->session['openid'];}else{$access=$qc->qq_callback();$openid=$qc->get_openid();Yii::$app->session['access']=$access;Yii::$app->session['openid']=$openid;}$this->qqlogin($access,$openid);}//qq授权登录方法处理public function qqlogin($access,$openid){$qc2 = new QC($access,$openid);$qquserinfo=$qc2->get_user_info();$user_model=new

以下都是错的,别看了
附上参考地址理解OAuth 2.0
OAUTH逻辑

AdminMember();$userinfo=AdminMember::find()->where("openid='$openid'")->one();if($userinfo){$userinfo->logdates=time();$userinfo->logip=CommonFun::getClientIp();$userinfo->head_img=$qquserinfo['figureurl_qq_2'];$userinfo->nickname=$qquserinfo['nickname'];$userinfo->sex

$qquserinfo['gender']=="男"?0:1;if($userinfo->save{Yii::$app->session['islogin'] = 'true';Yii::$app->session['userid'] = $userinfo->id;Yii::$app->session['username'] = $userinfo->usersname;Yii::$app->session['nickname'] =

我的设计的意图是,尽可能降低前后端耦合性,所以最终的目的是,前台让用户点击登录按钮以后,在后台几次重定向之后就能直接拿到user_info。
QQ授权登录获取Access_Token 文档

$userinfo->nickname;}else{var_dump($userinfo->getErrors;}}else{$user_model->nickname=$qquserinfo['nickname'];$user_model->sex

后台实现步骤(用户中心处,第一次授权)

  • 用户点击登录按钮以后,向路由(Auth/login)发起请求。
  • (Auth/login)整合各种参数以后向https://graph.qq.com/oauth2.0/authorize 发起请求希望接收Authorization Code,其中,redirect_uri参数 要使用用户中心的地址,以作进一步处理。
  • 授权完成后浏览器重定向至(Auth/getToken),此时后台可以接收到code和state。
    整合各种参数以后向https://graph.qq.com/oauth2.0/token 发起请求,记得带上code参数(Authorization Code)。这里redirect_uri参数 选为(Auth/getOpenID)的地址。
  • 之后(Auth/getOpenID)可以接收到access_token和expires_in。为了避免繁琐的重定向,这里通过curl向https://graph.qq.com/oauth2.0/me 发起请求并接受openID,之后将openID和access_token存入数据库(绑定用户),最后重定向至用户中心。

本文由美高梅游戏平台网站发布于家常菜谱,转载请注明出处:QQ授权登录

关键词:

上一篇:没有了

下一篇:没有了

最火资讯