ckhan / laravel-socialite

dev-master 2020-04-26 02:09 UTC

This package is auto-updated.

Last update: 2024-09-26 11:42:45 UTC


README

Socialite是基于官方扩展包laravel/socialite的扩展,增加了微信扫码登录、微信公众号授权登录、QQ登录。

需求

  • laravel/socialite >= 4.3

安装

运行以下命令进行安装

"composer require  ckhan/laravel-socialite"   

配置

配置方法和官方一致Socialite 社会化登录 密钥凭证放在config/services.php配置文件中:

微信扫码登录

'wechat-qrconnect' => [
    'client_id' => '应用唯一标识,在微信开放平台提交应用审核通过后获得',
    'client_secret' => '应用密钥AppSecret,在微信开放平台提交应用审核通过后获得',
    'redirect' => '授权后,重定向到网站的地址',
],

微信公众号授权登录

'wechat' => [
    'client_id' => '公众号的唯一标识',
    'client_secret' => '公众号的appsecret',
    'redirect' => '授权后,重定向到网站的地址',
],

微信公众号授权登录

'qq' => [
    'client_id' => '申请QQ登录成功后,分配给应用的appid',
    'client_secret' => '申请QQ登录成功后,分配给网站的appkey',
    'redirect' => '授权后,重定向到网站的地址',
    'mobile' => 'true|false,为true时,显示为手机端的样式',
    'unionid' => 'true|false,如何已经申请unionID了,请设置为true',
],

使用

使用方法和官方一致Socialite 社会化登录

路由

Route::get('login/socialite/{driver}', 'Auth\LoginController@redirectToProvider');
Route::get('login/socialite/{driver}/callback', 'Auth\LoginController@handleProviderCallback');

控制器

/**
 * 重定向到第三方,获取code
 * @param $driver
 * @return \Symfony\Component\HttpFoundation\RedirectResponse
 */
public function redirectToProvider($driver)
{
    if(!config('services.'.$driver))
        abort(404);
    return Socialite::driver($driver)->redirect();
}

/**
 * 从第三方,获取用户信息
 * @param $driver
 */
public function handleProviderCallback($driver)
{
    if(!config('services.'.$driver))
        abort(404);
    $user = Socialite::driver($driver)->user();

    //实现你的授权登录逻辑;
}

文档

官方扩展Socialite 社会化登录

许可证

Socialite 采用MIT 许可协议 (MIT)