cblink / hyperf-socialite
socialite
v0.2.3
2024-02-24 10:21 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- hyperf/contract: ^2.2 || ^3.0
- hyperf/guzzle: ^2.2 || ^3.0
- hyperf/http-message: ^2.2 || ^3.0
- hyperf/http-server: ^2.2 || ^3.0
- league/oauth1-client: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
README
关于
cblink/hyperf-socialite 组件是 laravel/socialite 组件的衍生版本,我们对它进行了一些改造,大部分功能保持不变。在此感谢 Laravel 开发团队,他们实现了如此强大且易于使用的社会化登录组件。
安装
# 安装 composer require cblink/hyperf-socialite -vvv # 创建配置文件 php bin/hyperf.php vendor:publish cblink/hyperf-socialite
配置
配置文件位于 config/autoload/socialite.php
,如果文件不存在,请自行创建
<?php return [ // 需要加载的provider 'providers' => [ // \HyperfSocialiteProviders\Feishu\Provider::class, ], 'config' => [ 'facebook' => [ 'client_id' => '', 'client_secret' => '', // 其他provider中需要使用的配置 // ... ], // qq,weixin... ]() ], ];
使用方法
在控制器中使用
<?php use Cblink\Hyperf\Socialite\Contracts\SocialiteInterface; class Controller { /** * @param SocialiteInterface $socialite * @return \Hyperf\HttpServer\Contract\ResponseInterface */ public function redirectToProvider(SocialiteInterface $socialite) { // 重定向跳转 $redirect = $socialite->driver('facebook')->redirect(); // 使用新的配置跳转 $socialite->driver('facebook')->setConfig([ 'client_id' => 'xxx', 'client_secret' => 'xxxx', ]) return $redirect; } /** * @param SocialiteInterface $socialite */ public function handleProviderCallback(SocialiteInterface $socialite) { // 获取用户信息 $user = $socialite->driver('facebook')->user(); // // $user->token; } }
支持的列表
贡献
您可以通过以下三种方式之一进行贡献:
代码贡献过程并不正式。您只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须附有相应的单元测试(如果适用)。
许可证
MIT