web-dev-qa-db-fra.com

Yii2: Pourquoi la clé d'authentification est-elle dans la classe Utilisateur?

Comme le titre précise pourquoi la clé d'authentification est introduite dans Yii2? Quels sont ses principaux usages et comment il est utile dans l'authentification?

30
Ejaz Karim

L'utilisation principale est d'authentifier l'utilisateur par cookie. Lorsque vous choisissez de vous souvenir de vous lors de la connexion, c'est ainsi que vous vous souvenez de vous. Le système doit vous identifier et vous connecter d'une manière ou d'une autre. Il peut soit enregistrer votre nom d'utilisateur et votre mot de passe dans un cookie (ce qui serait dangereux), soit il peut se souvenir de vous par d'autres moyens. C'est l'un des moyens. Après vous être connecté à votre application Yii jetez un œil au cookie _identity qu'il crée, vous verrez que la clé auth_ fait partie du cookie.

Le cookie se souvient en fait de $ id, de $ authKey et de $ duration, une combinaison id\auth_key est plus sûre de se souvenir ensuite d'une nom d'utilisateur/mot de passe.

43
Mihai P.

Comme expliqué précédemment, vous n'avez besoin d'implémenter getAuthKey() et validateAuthKey() que si votre application utilise la fonctionnalité de connexion basée sur les cookies. Dans ce cas, vous pouvez utiliser le code suivant pour générer une clé auth pour chaque utilisateur et la stocker dans la table utilisateur:

Plus de détails peuvent être trouvés dans la documentation officielle: https://www.yiiframework.com/doc/guide/2.0/en/security-authentication

0
Junaid Atari