HTTP の Digest 認証のためのクラスです。
[RFC2617] も参照してください。
例:
require 'webrick'
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(realm, user, pass) -> String[permalink][rdoc]与えられた情報を使用してハッシュ化したパスワードを生成します。
new(config, default = WEBrick::Config::DigestAuth) -> WEBrick::HTTPAuth::DigestAuth[permalink][rdoc]自身を初期化します。
認証を実行するために、リクエスト間で状態を保存し、複数のリクエストに対して同一のインスタンスを使用してください。
[SEE_ALSO] WEBrick::Config::DigestAuth
algorithm -> String[permalink][rdoc]アルゴリズムを表す文字列を返します。
authenticate(request, response) -> true[permalink][rdoc]クライアントから送られてきたユーザ名とパスワードを認証します。認証に失敗した場合は challenge を呼びます。
challenge(request, response, stale = false)[permalink][rdoc]クライアントにパスワードを要求するためにレスポンスに WWW-Authenticate ヘッダを設定し、例外 WEBrick::HTTPStatus::Unauthorized を発生させます。
qop -> String[permalink][rdoc]Qop キーの値を返します。