yaroslawww/laravel-fmc-sso-client

laravel 框架的 FMC SSO 客户端。

1.3.1 2022-10-18 13:22 UTC

This package is auto-updated.

Last update: 2024-09-18 17:32:42 UTC


README

Packagist License Build Status Code Coverage Scrutinizer Code Quality

如果你的应用程序使用了多个 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

鸣谢

  • Think Studio