Basic認証

2022-09-17 (土) 13:31:18

Basic認証 とは

名称

  • ベーシック認証

概要

  • HTTP認証の一つ。もう一つはDigest認証
  • 「基本認証」とも呼ばれる
  • IDとパスワードがネットワーク上を平文で流れる

フロー

  1. クライアントからのアクセス要求に対して、ステータス401(Unauthorized)を応答する。
  2. ブラウザは401をうけて、IDとパスワードの入力画面を表示する。
  3. クライアントは入力されたIDとパスワードを付加したリクエストでアクセス要求する。
    • HTTPヘッダに「Authorization:Basic xxx=」を付加する
  4. 認証成功後は、認証に成功したディレクトリ配下にアクセスする際は、ブラウザが自動的にAuthorizationヘッダを付加してアクセス要求する。

仕組み

  • HTTPヘッダにIDとパスワードをBase64エンコードしたものを付加する。
    • Base64は復号化が容易なため、SSLと組み合わせる必要がある。
  • ステートレス
    • 認証状態は保持せずに、クライアントはリクエストごとにIDとパスワードを送信する。
    • 毎回IDとパスワードが送信される

サーバ側の実装方法

Webサーバの設定を使う

  • .htaccess
  • .htpasswd

プログラミングで実装する

  • ステータス401で応答する
  • HTTPヘッダに「WWW-Authenticate:Basic realm="xxx"」を付加して応答する

関連用語