Laravel 5

The page has expired due to inactivity. Please refresh and try again.

  • Avatar de Charlie_Web_Nancy
    Membre depuis :
    10/08/2016
    Messages :
    78

    Salut à tous,

    Si je reste trop longtemps (toute la nuit par ex.) sur la page /login, et que le lendemain matin, j'essaie de me logguer, j'arrive sur cette page :

    The page has expired due to inactivity. Please refresh and try again.

    Résultant d'une exception TokenMismatchException, à priori, si je ne me trompe pas.

    Très bien, sauf que lorsqu'on rafraichit, ça ne fonctionne pas.

    Je comprends bien que c'est par sécurité, mais comment faire pour que l'utilisateur ne reste pas bloqué sur cette page ? Une redirection, une requête AJAX pour actualiser le token, quelque chose ?

    Si quelqu'un a une solution, je suis preneur !

    • Laravel 5.5

    Merci !

  • Avatar de Charlie_Web_Nancy
    Membre depuis :
    10/08/2016
    Messages :
    78

    Je déterre pour mieux clore le sujet.

    J'ai fait comme ça :

    Dans App\Exceptions\Handler :

    <?php

    public function render($request, Exception $exception)
    {
    if($exception instanceof \Illuminate\Session\TokenMismatchException){
    return redirect()
    ->back()
    ->withInput($request->except('_token'))
    ->withError('Il semble que le formulaire ait expiré, merci de réessayer.');
    }
    return parent::render($request, $exception);
    }

Vous ne pouvez pas répondre à ce sujet.