dptsi / laravel-sso
此包的最新版本(v2.2.0)没有可用的许可证信息。
Laravel SSO ITS认证包
v2.2.0
2024-04-05 04:16 UTC
Requires
- php: ^8.0.2
- ext-json: *
- laravel/framework: ^8.75|^9.21|^10.0|^11.0
- myits/openid-connect-client: ^1.4
README
laravel框架中ITS SSO认证的辅助包
要求
- PHP 7.4或更高版本
- Laravel版本8
- myits/openid-connect-client
安装
使用composer安装
composer require dptsi/laravel-sso
用法
登录
@method static void login(\Dptsi\Sso\Requests\OidcLoginRequest $request)
-
创建登录请求(提供ITS SSO的凭证)
use Dptsi\Sso\Requests\OidcLoginRequest; $request = new OidcLoginRequest( config('openid.provider'), config('openid.client_id'), config('openid.client_secret'), config('openid.redirect_uri'), config('openid.scope'), config('openid.allowed_roles') );
-
使用
OidcLoginRequest
参数调用静态login方法use Dptsi\Sso\Facade\Sso; Sso::login($request);
登出
@method static void logout(\Dptsi\Sso\Requests\OidcLogoutRequest $request)
-
创建登出请求(提供ITS SSO的凭证)
use Dptsi\Sso\Requests\OidcLogoutRequest; $request = new OidcLogoutRequest( config('openid.provider'), config('openid.client_id'), config('openid.client_secret'), config('openid.post_logout_redirect_uri') );
-
使用
OidcLogoutRequest
参数调用静态logout方法use Dptsi\Sso\Facade\Sso; Sso::logout($request);
检查用户是否已认证
@method static bool check()
use Dptsi\Sso\Facade\Sso; Sso::check();
获取当前认证用户
@method static \Dptsi\Sso\Models\User|null user()
use Dptsi\Sso\Facade\Sso; Sso::user();
设置当前认证用户
@method static void set(\Dptsi\Sso\Models\User $user)
use Dptsi\Sso\Facade\Sso; use Dptsi\Sso\Models\User; $user = Sso::user(); $user->setActiveRole($role); Sso::set($user);
用于更改角色的目的
获取当前认证用户的令牌
use Dptsi\Sso\Facade\Sso; Sso::token();
附加信息
中间件
从路由或控制器调用中间件sso
以检查用户是否已认证
Route::middleware(['web', 'sso'])
SSO辅助函数
sso()->
与Sso::
相同,可以从控制器、路由、视图等地方调用
sso()->check() sso()->user() ...
声明支持
支持ITS SSO的任何声明,不同的声明确定Dptsi\Sso\Models\User
模型属性(是否为null),更多关于用户模型