1. ホーム
  2. authentication

[解決済み】Cookieベースの認証はどのように機能するのですか?

2022-04-21 15:28:11

質問

クッキーに基づく認証がどのように機能するか、どなたか順を追って説明していただけませんか?私は認証やクッキーを含むことは何もしたことがありません。ブラウザは何をする必要があるのでしょうか?サーバーは何をする必要があるのでしょうか?どのような順序で行うのでしょうか?どのように安全を確保するのでしょうか?

認証の種類やCookieについて読んできましたが、この2つをどのように併用するのか、基本的な説明が欲しいのです。

どのように解決するのですか?

クッキーは基本的に、辞書の中の単なる項目です。 各項目はキーと値を持っています。認証の場合、キーは「ユーザー名」のようなもので、値はユーザー名となります。 ウェブサイトへのリクエストを行うたびに、ブラウザはリクエストにクッキーを含め、ホストサーバーはクッキーをチェックします。 ですから、認証はそのように自動的に行うことができます。

クッキーを設定するには、リクエスト後にサーバーが送り返すレスポンスにクッキーを追加すればよいのです。ブラウザはそのレスポンスを受信すると、クッキーを追加します。

クッキーのサーバー側には、有効期限や暗号化など、さまざまなオプションを設定することができます。 暗号化されたクッキーは、しばしば署名されたクッキーと呼ばれます。 基本的にサーバーは、辞書項目のキーと値を暗号化するので、サーバーだけが情報を利用できます。したがって、その場合、クッキーは安全です。

ブラウザは、サーバーが設定したクッキーを保存します。 ブラウザがそのサーバーに行うすべてのリクエストのHTTPヘッダーに、クッキーを追加します。 クッキーは、それを設定したドメインに対してのみ追加されます。 example.com はクッキーを設定し、ブラウザが sub.example.com のようなサブドメインにクッキーを送り返すためのオプションを HTTP ヘッダに追加することができます。 ブラウザがクッキーを異なるドメインに送ることは、受け入れがたいことでしょう。