repoze.who.plugins.digestauth je repoze.who plugin provádění ověřování algoritmem Digest HTTP přístup je podle RFC-2617:
& Nbsp; http: //tools.ietf.org/html/rfc2617
To poskytuje dobrou podporu pro protokol, jak je běžně používaný ve volné přírodě:
- A to jak qop = = režimy qop "auth-int" "auth" a
- Režim kompatibilita pro starší klienty
- Kontrola klient kódové slovo, počet
- Nové kódové slovo generace prostřednictvím Authentication-Info záhlaví
Následující vlastnosti protokolu jsou zřídka podporovány klienty HTTP, a tedy dosud nebyly realizovány:
- MD5-Sess, nebo jakýkoli hash algoritmu jiný než MD5
- Vzájemné ověřování pomocí ověřování-Info hlavičce
Configuration
Konfigurace digest-auth plugin lze provést ze standardního repoze.who konfiguračním souboru takto:
[Plugin: digestauth]
Použití = repoze.who.plugins.digestauth: make_plugin
říše = MyRealm
get_pwdhash = mymodule: get_pwdhash
K dispozici jsou následující možnosti konfigurace:
- Říše: říše string; zahrnuty doslovně v záhlaví výzvu
- Doména: string domain; zahrnuty doslovně v záhlaví výzvu
- Qop: požadovaná kvalita ochrany ("auth" nebo "auth-int")
- Get_password: tečkovaná jméno zpětné volání, aby si heslo uživatele
- Get_pwdhash: tečkovaná jméno zpětné volání, aby si hash hesla uživatele
- Nonce_manager: tečkovaná název třídy použít pro nJakmile řízení
Ověření
Pro ověření uživatele pomocí Digest Auth, tento plugin potřebuje přístup k jedné syrovém hesla, nebo jejich "hash hesla", což je MD5 jejich uživatelské jméno, heslo a ověřování oblasti:
def calculate_pwdhash (uživatelské jméno, heslo, říše):
. & Nbsp; návrat md5 ("% s:% s:% s"% (username, realm, heslo)) hexdigest ()
Musíte poskytnout funkce zpětného volání "get_password" nebo "get_pwdhash" do DigestAuthPlugin.
nJakmile řízení
Bezpečnost ověřování Digest Access závisí především na bezpečnou výrobu a managent kryptografických nonces. Aby se zabránilo opakování napadá server musí odmítnout žádosti, které mají opakované kódového slova.
Podrobnosti o kódové slovo řízení byly extrahovány do samostatné rozhraní, definovaný repoze.who.plugins.digestauth.noncemanager: NonceManager třídy. Výchozí implementace používá HMAC-podepsané žetony a má v paměti cache v poslední době kódové slovo se počítá. Máte-li více konkrétní potřeby by vás mohla realizovat svůj vlastní NonceManager podtřídy
Co je nového v této verzi:.
- Aktualizace licence na MPL 2.0.
Požadavky na :
- Python
Komentáře nebyl nalezen