repoze.who.plugins.digestauthは、RFC-2617に従ってHTTPのダイジェストアクセス認証を実装するrepoze.whoプラグインです。
 のhttp://tools.ietf.org/html/rfc2617
それは、それは一般的に野生で使用されているなどのプロトコルのために良いサポートを提供しています。
- QOP = "AUTH」とQOP =" AUTH-INT」の両モード
- レガシークライアント用の互換モード
- クライアントナンスカウントのチェック
- 認証-Infoヘッダーを介して次の-ノンス生成
プロトコルの次の機能はほとんどのHTTPクライアントでサポートされていないため、まだ実装されていない:
- MD5-SESの、またはMD5以外のハッシュアルゴリズム
- 認証-Infoヘッダー経由相互認証
のコンフィグレーションの
ダイジェスト認証プラグインの設定は、そうのような標準的なrepoze.who設定ファイルから行うことができます。
[プラグイン:によるdigestauth]
使用= repoze.who.plugins.digestauth:make_plugin
領域= MYREALM
get_pwdhash =のmymodule:get_pwdhash
次の設定オプションが使用できます。
- レルム:レルム文字列。挑戦ヘッダに逐語的に含まれる
- ドメイン:ドメイン文字列。挑戦ヘッダに逐語的に含まれる
- QOP:保護の所望の品質(「認証」または「AUTH-INT」)
- GET_PASSWORD:ユーザーのパスワードを取得するためのコールバックの点在名前
- get_pwdhash:ユーザーのパスワードハッシュを取得するためのコールバックの点在名前
- nonce_manager:一回だけの管理に使用するクラスの点在名前
の認証の
ダイジェスト認証を介してユーザを認証するには、このプラグインは彼らの生のパスワードまたはユーザー名、パスワード、および認証レルムのMD5ダイジェストである彼らの "パスワードハッシュ」、どちらかにアクセスする必要があります:
デフcalculate_pwdhash(ユーザー名、パスワード、領域):
。  MD5を返す( "%S:%S:%s"は%(ユーザー名、レルム、パスワード))hexdigest()
あなたはDigestAuthPluginにコールバック関数」GET_PASSWORD」または「get_pwdhash」を提供しなければならない。
のナンスの管理の
ダイジェストアクセス認証のセキュリティは、暗号化ナンスの安全な生成とmanagentに決定的に依存します。リプレイ攻撃を防ぐためにサーバーを繰り返しナンスを持って要求を拒否しなければならない。
NonceManagerクラス:ナンス管理の詳細はrepoze.who.plugins.digestauth.noncemanagerによって定義され、別のインタフェースに抽出されている。デフォルトの実装では、HMAC-署名したトークンや最近見ナンスカウントのインメモリキャッシュを使用します。あなたがより多くの特定のニーズを持っている場合は、独自のNonceManagerサブクラスを実装したいかもしれません。
の何が新しいの今回のリリースで:ます。
- MPL 2.0への更新ライセンスします。
の要件の
- のPythonます。
コメントが見つかりません