repoze.who.plugins.digestauth is repoze.who plugin implementering HTTP's Digest Toegang verifikasie soos per RFC-2617:
& Nbsp; http: //tools.ietf.org/html/rfc2617
Dit bied 'n goeie ondersteuning vir die protokol soos dit tipies gebruik word in die wilde:
- Beide qop = "auth" en qop = "auth-int" modes
- Compatibility mode vir nalatenskap kliënte
- Kliënt nonce-telling nagaan
- Next-nonce generasie via die verifikasie-Info kop
Die volgende kenmerke van die protokol word selde deur HTTP kliënte en dus nog nie in werking gestel:
- MD5-sess, of enige hash algoritme ander as MD5
- Wedersydse verifikasie via die verifikasie-Info kop
Konfigurasie
Opset van die Digest-auth plugin kan gedoen word van die standaard repoze.who config lêer soos so:
[Plugin: digestauth]
gebruik = repoze.who.plugins.digestauth: make_plugin
realm = MyRealm
get_pwdhash = mymodule: get_pwdhash
Die volgende konfigurasie opsies is beskikbaar:
- Ryk: die koninkryk string; ingesluit woordeliks in die uitdaging kop
- Domein: die domein string; ingesluit woordeliks in die uitdaging kop
- Qop: die gewenste kwaliteit van beskerming ("auth" of "auth-int")
- Get_password: gesaai naam van 'n terugbel die gebruiker se wagwoord te kry
- Get_pwdhash: gesaai naam van 'n terugbel die gebruiker se wagwoord hash te kry
- Nonce_manager: gesaai naam van 'n klas te gebruik vir nonce bestuur
verifikasie
'N gebruiker via Digest Auth te kontroleer, hierdie plugin benodig toegang tot óf hul rou wagwoord of hul "wagwoord hash", wat is die MD5 opsomming van hul gebruikersnaam, wagwoord en verifikasie koninkryk:
def calculate_pwdhash (gebruikersnaam, wagwoord, ryk):
. & Nbsp; terugkeer MD5 ("% s:% s:% s"% (gebruikersnaam, ryk, wagwoord)) hexdigest ()
Jy moet voorsiening maak die callback funksie "get_password" of "get_pwdhash" aan die DigestAuthPlugin.
Nonce Bestuur
Die sekuriteit van Digest Toegang verifikasie hang allergrootste op die veilige geslag en Bestuurskema van kriptografiese nonces. Ten einde herhaling te voorkom val die bediener moet versoek dat 'n herhaalde nonce verwerp.
Die besonderhede van nonce bestuur is 'n uittreksel in 'n aparte koppelvlak, gedefinieer deur die repoze.who.plugins.digestauth.noncemanager: NonceManager klas. Die standaard implementering gebruik HMAC-onderteken tekens en 'n in-geheue kas van onlangs gesien nonce tel. As jy meer spesifieke behoeftes wat jy dalk graag jou eie NonceManager subklas te implementeer
Wat is nuut in hierdie release:.
- Update lisensie te LPW 2.0.
Vereistes :
- Python
Kommentaar nie gevind