thuleen / ssomfa
实现单点登录和多因素认证
dev-master
2024-04-15 07:24 UTC
Requires
- php: ^8.1
- endroid/qr-code: ^5.0@dev
- illuminate/contracts: 9.52.16
- react/event-loop: ^1.4.0
- spatie/laravel-package-tools: ^1.14.0
- vlucas/phpdotenv: ^5.5@dev
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-08 08:23:02 UTC
README
集成
假设开发者有权访问和修改目标 Laravel/PHP 应用程序以使用 thuleen/ssomfa
包。
以下是与 SSOMFA 系统集成的步骤。
重要
您的 Laravel/PHP 应用程序必须托管在安全的连接上使用 SSL (HTTPS),这是强制的。
安装包
composer require thuleen/ssomfa
注意 ssomfa
的路径。
1. 环境
将以下行包含在您的 laravel/php 应用程序的 .env
文件中
APP_ID=1
然后,在 /config/app.php
中的 'id' => env('APP_ID', '1'),
行
use Illuminate\Support\Facades\Facade;
use Illuminate\Support\ServiceProvider;
return [
'id' => env('APP_ID', '1'),
...
2. 路由
在 routes/web.php
中添加 'ssomfa_verify'
如下
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth', 'verified', 'ssomfa_verify'])->name('dashboard');
3. 内核
在 app/Http/Kernel.php
中,在最后一项中添加以下行;
protected $middlewareAliases = [
...
'ssomfa_verify' => \Thuleen\SsoMfa\Http\Middleware\SsoMfaMiddleware::class
];
4. AuthenticatedSessionController.php
在 app/Http/Controllers/Auth/AuthenticatedSessionController.php
中,在 destroy
函数中添加 app(SsoMfaMiddleware::class)->logout();
use Thuleen\Ssomfa\Http\Middleware\SsoMfaMiddleware; // <<-- Add this line
public function destroy(Request $request): RedirectResponse
{
app(SsoMfaMiddleware::class)->logout(); // <<-- Add this line
Auth::guard('web')->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
}
5. 安装包
然后,在 composer.json
文件中按照以下方式编辑
...
"require": {
...
"thuleen/ssomfa": "dev-master"
},
...
"autoload": {
"psr-4": {
...
"Thuleen\\SsoMfa\\": "vendor/thuleen/ssomfa/src"
}
},
然后运行
composer update
composer dump-autoload