LoginSignup
3
3

More than 3 years have passed since last update.

HTTP認証 概要

Posted at

今更ながら、HTTPで用いられる認証方式の概要をまとめる。

一般的な HTTP 認証の流れ

  1. サーバーは1回目のクライアントからのリクエストに対して、 401 (Unauthorized) レスポンスを返却し、 WWW-Authenticate レスポンスヘッダーを含めて認証方式に関する情報を提供する。

  2. クライアントは Authorization リクエストヘッダーに資格情報を含めることで、サーバーに自身の認証を要求する。

http_authentication.png

用語

WWW-Authenticate

  • リソースへのアクセスに使用する認証メソッド(Basic,...)を指定する。
  • このヘッダーを参照し、クライアントは資格情報の提供方法を認識する。
WWW-Authenticate: <type> realm=<realm>
  • <type>:認証方式名。Basicなどが指定される。
  • realm :保護領域を説明する。これは、「本番アプリへのアクセスである」などをメッセージに設定することで、ユーザーが、どの領域にアクセスしようとしているかを通知する。

Basic認証

  • Base64 でエンコードした資格情報(IDとパスワード)をAuthorization:Basicヘッダーに付与する方式。
  • 可逆エンコードのため、HTTPSでの送信必須。

Bearer認証

  • OAuth 2.0 で保護されたリソースにアクセスするためのベアラートークンをAuthorization: Bearerで指定する方式。

Digest認証

  • IDとパスワードをMD5でハッシュ(ダイジェスト)化して送る方式

その他、Negotiate認証などいろいろある模様。

参考情報

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3