タイトルが明らかにするように、なぜYii2で認証キーが導入されたのですか?それは主な用途は何ですか、それが認証でどのように役立つのですか?
主な用途はcookieでユーザーを認証することです。ログイン時に記憶されるように選択すると、これが記憶されます。システムは何らかの方法であなたを識別してログインする必要があります。ユーザー名とパスワードをcookieに保存する(安全ではない)か、他の方法でユーザーを記憶できます。これは手段の1つです。 Yiiアプリケーションにログインした後、アプリケーションが作成する_identity Cookieを確認します。auth_keyがCookieの一部であることがわかります。
Cookieは実際には$ id、$ authKey、および$ durationを記憶します。id\ auth_keyの組み合わせは、ユーザー名/パスワードの組み合わせを覚えた方が安全です。
前に説明したように、アプリケーションがCookieベースのログイン機能を使用する場合は、getAuthKey()
およびvalidateAuthKey()
を実装するだけで済みます。この場合、次のコードを使用して各ユーザーのauth
キーを生成し、それをユーザーテーブルに格納できます。
詳細は公式ドキュメントに記載されています: https://www.yiiframework.com/doc/guide/2.0/en/security-authentication