简单的qq第三方登录的实现

简单的qq第三方登录的实现 使用框架 laravel 

 使用安装包 参照文档安装

"socialiteproviders/qq": "^3.0",

代码逻辑
请求接口代码,使用默认的配置参数
public function qq()
{
return Socialite::with('qq')->redirect();
}
自定义参数接口代码
$clientId = "secret"; $clientSecret = "secret";
$redirectUrl = "http://yourdomain.com/api/redirect";
$additionalProviderConfig = ['site' => 'meta.stackoverflow.com'];
$config = new \SocialiteProviders\Manager\Config($clientId, $clientSecret, $redirectUrl, $additionalProviderConfig);
return Socialite::with('weixin')->setConfig($config)->redirect();

回调函数代码获取用户的一系列信息
public function qqlogin()
{
$user = Socialite::driver('qq')->stateless()->user();
$accessTokenResponseBody = $user->accessTokenResponseBody;
dd($user);die;
}
这里statrless 有点坑 有时候可以不加 有时候不加会报未定义的错误,需要注意一下,微信,微博第三方登录大体如此

如果使用的包比较老 如laravel 5.1又发现一个坑,之前3.0的包只用装
"socialiteproviders/qq": "^3.0",就可以实现
如果是5.1要用比较老的包的话还要装 "socialiteproviders/manager": "2.1.2" 这个 不然无法获取openid
5.1使用的版本包
 "socialiteproviders/manager": "2.1.2",
        "socialiteproviders/weibo": "2.0.1",
        "socialiteproviders/qq": "2.0.3", "socialiteproviders/weixin-web": "2.0.1", "socialiteproviders/weixin": "2.1.1",
 
使用自定义参数 做登录时(老版本才有的问题)
use SocialiteProviders\Manager\Contracts\ConfigInterface as Config;

trait ConfigTrait
{
protected $config;

public function setConfig(Config $config)
}
这里面的命名config有一个坑,会报错 需要把config改成其他名字命名

转载于:https://www.cnblogs.com/chen1970s/p/7346404.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值