pltrue/thirdparty_oauth

这是一个第三方授权登录扩展包。目前支持GITHUB、GITEE、谷歌、微博、微信、QQ等授权登录


README

Build Status StyleCI build status

这是一个社会化登录的第三方登录扩展包

v2.0版本兼容 Laravel-Octane

安装

使用 composer 安装:

$ composer require pltrue/thirdparty_oauth "v1.7"

贡献

你可以通过以下三种方式做出贡献:

  1. bug反馈 issue tracker.
  2. 回答问题或修复错误 issue tracker.
  3. 贡献新特性或更新wiki。

目前支持第三方登录

  • 1.QQ(app/h5/web)
  • 2.微信(web扫码)
  • 3.微博(app/h5/web)
  • 4.小米(web/h5)
  • 5.抖音
  • 6.世纪互联(微软)
  • 7.微软
  • 8.gitee
  • 9.github
  • 10.gitlab
  • 11.google
  • 12.line

贡献者🎉、以及合并日志

如何申请应用授权?

参数说明

redirect_url 回调地址将使用方法写到回调接口即可 获取到用户的一些基础信息
client_id 应用授权id
client_secret 应用授权key
所有支持平台的类型 github gitee gitlab weibo qq weixin alipay microsoft 配置文件下标一致

建议

前后端分离下建议前端直接请求授权接口,后端负责回调接口即可

PHP-FPM下安装

composer require pltrue/thirdparty_oauth "v1.7"

Laravel Octane 常驻内存下安装

composer require pltrue/thirdparty_oauth "v2.0"

发布配置

php artisan vendor:publish --tag=oauth 

简单使用

  • 授权方法
$api = new SocialiteAuth(config('oauth.github'));
return $api->redirect('github');

*回调方法

public function githubCallBack()
    {
        $auth = new SocialiteAuth(config('oauth.github'));
        $user = $auth->driver('github')->user();

        $users = User::query()->where('oauth_id',$user->id)->first();

        if(!$users){
            $users= User::query()->create([
                'name'=> empty($user->name) ?? $user->login,
                'email'=>$user->email,
                'avatar'=>$user->avatar_url,
                'oauth_id'=>$user->id,
                'bound_oauth'=>1
            ]);
        }
        return $this->respondWithToken($users);
    }

返回示例

在这里插入图片描述


License

MIT