aimilink / hyperf-socialite
socialite
3.0.4
2023-09-21 08:03 UTC
Requires
- php: ^7.4|^8.0|^8.1
- ext-json: *
- hyperf/contract: ^3.0
- hyperf/guzzle: ^3.0
- hyperf/http-message: ^3.0
- hyperf/http-server: ^3.0
- league/oauth1-client: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
This package is not auto-updated.
Last update: 2025-03-21 15:08:46 UTC
README
About
Aimilink/hyperf-socialite 组件衍生于 cblink/hyperf-socialite 组件的,升级了组件版本。
Installing
# 安装 composer require Aimilink/hyperf-socialite -vvv # 创建配置文件 php bin/hyperf.php vendor:publish Aimilink/hyperf-socialite
Configure
配置文件位于 config/autoload/socialite.php
,如文件不存在可自行创建
<?php return [ // 需要加载的provider 'providers' => [ // \HyperfSocialiteProviders\Feishu\Provider::class, ], 'config' => [ 'facebook' => [ 'client_id' => '', 'client_secret' => '', // 其他provider中需要使用的配置 // ... ], // qq,weixin... ]() ], ];
Usage
组件已经提供了许多已支持的社会化登陆组件,只需要将它配置到 config/autoload/listeners.php
中即可。
return [ HyperfSocialiteProviders\Facebook\FacebookExtendSocialite::class, ];
控制器中使用
<?php use Aimilink\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; } }
支持的列表
支持应用 | 驱动名称 |
---|---|
微博 | |
YouTube | youtube |
飞书自建应用 | feishu |
微信公众号 | weixin |
微信PC网站登陆 | weixinweb |
微信开放平台代公众号授权 | wechat_service_account |
企业微信第三方应用扫码 | third_weworkqr |
企业微信 | wework |
企业微信自建应用扫码 | weworkqr |
Contributing
You can contribute in one of three ways:
- File bug reports using the issue tracker.
- Answer questions or fix bugs on the issue tracker.
- Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
License
MIT