Ajoute le routeur et la page d'instanciation de la phrase de passe

This commit is contained in:
2022-03-01 14:10:13 +01:00
parent c2b60b4b6a
commit a8116aa5a2
12 changed files with 5919 additions and 171 deletions

View File

@@ -19,6 +19,7 @@ class UserController extends Controller
$user = User::where('id', Auth::user()->getAuthIdentifier())->firstOrFail();
$user->checkword = $validated['checkword'];
$user->save();
Auth::setUser($user);
return response()->json(['success' => true]);
}

View File

@@ -2,6 +2,7 @@
namespace App\Http;
use App\Http\Middleware\CheckExistingPassphrase;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
@@ -54,6 +55,7 @@ class Kernel extends HttpKernel
* @var array<string, class-string|string>
*/
protected $routeMiddleware = [
'auth.passphrase' => CheckExistingPassphrase::class,
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class CheckExistingPassphrase
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
if (!$request->routeIs('user.*') && empty(Auth::user()->checkword)) {
return redirect(route('user.first'));
}
if (!empty(Auth::user()->checkword) && $request->routeIs('user.first')) {
return redirect(route('pages.index'));
}
return $next($request);
}
}