Outils pour utilisateurs

Outils du site


devweb:laravel:token_expired (lu 17253 fois)

Token csrf expiré

Si votre page de login est resté en cache dans votre navigateur, il y a de forte chance pour que le csrf token soit faut lors de la validation du formulaire.

Plutôt que d’avoir une exception, on peut rediriger l’utilisateur vers la page de login avec un message d’erreur.

Pour ça, modifier app/Http/Middleware/VerifyCsrfToken.php

<?php
 
namespace App\Http\Middleware;
 
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
use Closure;
 
class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        //
    ];
 
    public function handle($request, Closure $next)
    {
        if (
            $this->isReading($request) ||
            $this->runningUnitTests() ||
            $this->shouldPassThrough($request) ||
            $this->tokensMatch($request)
        ) {
            return $this->addCookieToResponse($request, $next($request));
        }
 
        return redirect()
                    ->back()
                    ->withInput($request->except(['password','_token']))
                    ->with('flash_error', 'Votre page a expiré, merci de réessayer.');
    }
}
devweb/laravel/token_expired.txt · Dernière modification: 25-03-2018 21:33 de edmc73