Parmi les routes du système d'authentification générées par Auth::routes(), celle sur la déconnexion n'existe qu'en POST :
+--------+----------+---------------------------+------------------+------------------------------------------------------------------------+---------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+---------------------------+------------------+------------------------------------------------------------------------+---------------+
| | ... | ... | ... | ... | ... |
| | POST | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
+--------+----------+---------------------------+------------------+------------------------------------------------------------------------+---------------+
On sait qu'on utilisera une requête GET si on utilise un lien menant vers un URL.
On aura affaire à une requête POST si on utilise un formulaire dont l'action mène à cet URL.
Puisqu'aucune route ne permet de se déconnecter avec une requête GET, il n'est pas possible de se déconnecter à l'aide d'un lien (ex : <a href="http://mondomaine.com/logout">Déconnexion</a>).
Pour se déconnecter, il faut absolument un bouton dans un formulaire afin de générer un POST.
Il serait facile d'ajouter une route GET pour la déconnexion. Cependant, nous éviterons de le faire puisque cela permettrait à n'importe quel site Web d'ajouter un lien vers notre URL de déconnexion et ainsi déconnecter l'usager de notre site.
▼Publicité