? Thinkphp5两步实现QQ授权登录-小师傅博客 足球滚球365_365滚球视频_足球滚球365

Thinkphp5两步实现QQ授权登录

我使用的是Thinkphp5.1版本框架,首先你复制下面的代码到你项目的 composer.json 文件中,然后 composer update 。


"require":?{
????"anerg2046/sns_auth":?"^1.1",
????"anerg2046/helper":?"^1.0.6.2"
},


然后建一个Qq.php的文件,然后引入命名空间


use?anerg\OAuth2\OAuth;

然后在Qq.php文件中添加两个方法,?index(),callback(),index()方法是激活QQ授权界面,callback() 方法是登录成功的回调。看下方截图


TIM截图20190725163513.png


$config 的配置如下:

1、登录QQ互联:https://connect.qq.com 注册一个账号(要审核)

2、创建一个网站应用,提交资料审核通过后即可拿到app_id和app_secret

3、配置回调,具体情况看项目。如下

TIM截图20190725163711.png

在回调方法中打印【$sns_info】就能看到授权成功后返回来的信息,如下:

TIM截图20190725163757.png

两个方法就能实现QQ授权登录的功能了。下面是完整的代码。


?'app_id',
????????????'app_secret'?=>?'app_secret',
????????????'scope'??????=>?'get_user_info',
????????????'callback'???=>?[
????????????????'default'?=>?'回调地址',
????????????]
????????];
????????$OAuth??=?OAuth::getInstance($config,?'qq');
????????return?redirect($OAuth->getAuthorizeURL());
????}
????//?回调
????public?function?callback($channel='qq')?{
????????$config?=?[
????????????'app_id'????=>?'app_id',
????????????'app_secret'?=>?'app_secret',
????????????'scope'??????=>?'get_user_info',
????????????'callback'???=>?[
????????????????'default'?=>?'回调地址',
????????????]
????????];
????????$OAuth????=?OAuth::getInstance($config,?$channel);
????????$OAuth->getAccessToken();
????????$sns_info?=?$OAuth->userinfo();
????????if($sns_info){
????????????$this->ckuser($sns_info);
????????}?else{
????????????$this->error('授权登录失败',?url('index/index/index'));
????????}
????}
}



相关推荐

评论