pltrue/thirdparty_oauth

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


README

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e Build Status StyleCI build status 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d76372e302b2d626c7565 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f776e6c6f6164732d33372d627269676874677265656e

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

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

贡献者🎉、以及合并日志

日期 更新级别 更新内容 贡献者 当前状态
2020-12-06 fix 、feat 新增Microsoft登录 修复微信、QQ的bug 742481030 已合并到master分支
2020-12-08 feat 新增小米账户登录 742481030 已合并到master分支
2020-12-09 feat 新增google账户登录 742481030 已合并到master分支
2020-12-10 feat 新增华为账户登录 742481030 已合并到master分支
2020-12-11 fix qq统一使用json接口 742481030 已合并到master分支
2020-12-12 feat 新增抖音账户登录 742481030 已合并到master分支
2020-12-13 feat 新增Line账户登录 742481030 已合并到master分支
2020-12-29 fix 增加兼容支付宝qq app混合应用兼容 742481030 已合并到master分支
2020-12-29 feat 新增京东账户登录 742481030 已合并到master分支
2020-12-29 fix 兼容laravel7* pl1998 已合并到master分支
2021-04-19 feat 兼容laravel8* 支持laravel发布配置文件 pl1998 已合并到master分支
2021-05-15 feat v2.0版本 兼容laravel8* Laravel Octane 常驻内存 pl1998 已合并到master分支

如何申请应用授权?

参数说明

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