web-dev-qa-db-fra.com

Laravel Qu'est-ce qu'un garde?

Je regardais à travers les contrôleurs d'authentification intégrés et j'ai remarqué qu'ils utilisaient quelque chose appelé "Gardes". Jusqu'à présent, chaque fois que je créais mes propres formulaires de connexion/enregistrement, je ne les touchais jamais et je faisais généralement des choses comme:

Auth::attempt()

sans aucun type de garde. J'ai essayé de chercher en quoi cela consiste exactement, mais je n'ai trouvé aucune information à ce sujet. Quelqu'un pourrait-il m'expliquer à quoi servent les gardes?

45
user1157885

Ils définissent comment le système doit stocker et récupérer des informations sur vos utilisateurs.

Vous pouvez trouver la configuration dans votre fichier config/auth.php. Un garde Web est le magasin de cookies traditionnel - de sorte que celui-ci demande à Laravel de stocker et de récupérer les informations de session de manière classique. L'API Guard, en revanche, utilise des jetons. Vous utiliseriez donc la protection de l'API si vous souhaitez authentifier les utilisateurs et les demandes à l'aide d'un jeton API dans l'en-tête (porteur) ou le paramètre de requête.

Vous pouvez aussi créer votre propre garde si vous le souhaitez, et il y a aussi ce bon article d'introduction blog sur le sujet de Matt Stauffer.

58
Theson

Un garde est un moyen de fournir la logique permettant d'identifier les utilisateurs authentifiés. Laravel fournit différents gardes comme des sessions et des jetons. Le gardien de session maintient l'état de l'utilisateur dans chaque demande par le biais de cookies. D'autre part, le gardien de jeton authentifie l'utilisateur en vérifiant un jeton valide dans chaque demande.

0
sachin