Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > webrick/httpauth/digestauthライブラリ > WEBrick::HTTPAuth::DigestAuthクラス

class WEBrick::HTTPAuth::DigestAuth

クラスの継承リスト: WEBrick::HTTPAuth::DigestAuth < WEBrick::HTTPAuth::Authenticator < Object < Kernel < BasicObject

要約

HTTP の Digest 認証のためのクラスです。

[RFC2617] も参照してください。

例:

config = { :Realm => 'DigestAuth example realm' }

htdigest = WEBrick::HTTPAuth::Htdigest.new 'my_password_file'
htdigest.set_passwd config[:Realm], 'username', 'password'
htdigest.flush

config[:UserDB] = htdigest

digest_auth = WEBrick::HTTPAuth::DigestAuth.new config

サーブレットの initialize メソッドの中でこのクラスのインスタンスを作成 しないようにしてください。デフォルトでは WEBrick はリクエストのたびにサー ブレットのインスタンスを生成しますが、 WEBrick::HTTPAuth::DigestAuth のオブジェクトはリクエストをまたい で利用しなければならないためです。

目次

特異メソッド
make_passwd new
インスタンスメソッド
algorithm authenticate challenge qop

特異メソッド

make_passwd(realm, user, pass) -> String[permalink][rdoc]

与えられた情報を使用してハッシュ化したパスワードを生成します。

[PARAM] realm:
レルムを指定します。
[PARAM] user:
ユーザ名を指定します。
[PARAM] pass:
パスワードを指定します。
new(config, default = WEBrick::Config::DigestAuth) -> WEBrick::HTTPAuth::DigestAuth[permalink][rdoc]

自身を初期化します。

認証を実行するために、リクエスト間で状態を保存し、複数のリクエストに対 して同一のインスタンスを使用してください。

[PARAM] config:
設定を保持しているハッシュを指定します。 :Realm と :UserDB は必ず指定しなければなりません。
[PARAM] default:
デフォルトは WEBrick::Config::DigestAuth です。

[SEE_ALSO] WEBrick::Config::DigestAuth

インスタンスメソッド

algorithm -> String[permalink][rdoc]

アルゴリズムを表す文字列を返します。

authenticate(request, response) -> true[permalink][rdoc]

クライアントから送られてきたユーザ名とパスワードを認証します。 認証に失敗した場合は challenge を呼びます。

[PARAM] request:
WEBrick::HTTPRequest のインスタンスを指定します。
[PARAM] response:
WEBrick::HTTPResponse のインスタンスを指定します。
[EXCEPTION] WEBrick::HTTPStatus::Unauthorized:
認証に失敗した場合に発生します。
challenge(request, response, stale = false)[permalink][rdoc]

クライアントにパスワードを要求するためにレスポンスに WWW-Authenticate ヘッダを 設定し、例外 WEBrick::HTTPStatus::Unauthorized を発生させます。

[PARAM] request:
WEBrick::HTTPRequest のインスタンスを指定します。
[PARAM] response:
WEBrick::HTTPResponse のインスタンスを指定します。
[EXCEPTION] WEBrick::HTTPStatus::Unauthorized:
このメソッドを呼ぶと必ず発生します。
qop -> String[permalink][rdoc]

Qop キーの値を返します。