yaroslawww / laravel-fmc-sso-client
laravel 框架的 FMC SSO 客户端。
1.3.1
2022-10-18 13:22 UTC
Requires
- php: ^8.0
- illuminate/support: ^8.0|^9.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.1
- guzzlehttp/guzzle: ^7.3
- orchestra/testbench: ^6.21
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.10
README
如果你的应用程序使用了多个 oAuth 提供商,使用独立于服务的包如 laravel/socialite 会更简单。
安装
使用 composer 安装此包
composer require yaroslawww/laravel-fmc-sso-client
设置环境变量
# .env FMC_SSO_CLIENT_ID="123456" FMC_SSO_CLIENT_SECRET="RvYvYTDtMDt..." FMC_SSO_REDIRECT_URL="https://my.app.home/fmc-sso/callback"
可选地,你可以使用以下命令发布配置文件
php artisan vendor:publish --provider="FMCSSOClient\ServiceProvider" --tag="config"
用法
添加功能最快的方式是创建一个继承自 SSORouter
的类
use FMCSSOClient\Http\Controllers\SSORouter;
use FMCSSOClient\SSOUser;
class FMCSSORouter extends SSORouter
{
protected function successUserCallback(SSOUser $user): mixed
{
$user->getId();
$user->getName();
$user->getEmail();
// add/update database user based on returned object.
}
// Optional you can add custom scopes
// public function scopes(): array
// {
// return ['my:custom-scope', 'my:other-scope'];
// }
}
然后添加路由
// /routes/web.php
Route::middleware( [ 'guest', /*...*/ ] )->group( fn() => \App\Domain\FMCSSO\FMCSSORouter::routes() );
就是这样。默认登录路由是 http://my.domain.home/fmc-sso