repoze.who.plugins.digestauth er repoze.who plugin implementere HTTP Digest Tilgang Authentication som per RFC-2617:
& Nbsp; http: //tools.ietf.org/html/rfc2617
Den gir god støtte for protokollen som det brukes vanligvis i naturen:
- Både QOP = "auth" og QOP = "auth-int" modus
- Kompatibilitet modus for eldre klienter
- Klient nonce-count sjekking
- Neste nonce generasjon via Authentication-Info header
Følgende funksjoner i protokollen er sjelden støttes av HTTP-klienter og dermed har ennå ikke blitt implementert:
- MD5-sess, eller noen hash algoritme annet enn MD5
- Gjensidig autentisering via Authentication-Info header
Konfigurasjon
Konfigurasjon av digest-auth plugin kan gjøres fra den standard repoze.who config filen slik:
[Plugin: digestauth]
bruk = repoze.who.plugins.digestauth: make_plugin
realm = myrealm
get_pwdhash = mymodule: get_pwdhash
Følgende konfigurasjonsalternativer er tilgjengelige:
- Riket: riket streng; inkludert ordrett i utfordringen header
- Domene: domenet streng; inkludert ordrett i utfordringen header
- QOP: den ønskede kvaliteten på beskyttelse ("auth" eller "auth-int")
- Get_password: prikket navnet på en tilbakeringings å få brukerens passord
- Get_pwdhash: prikket navnet på en tilbakeringings å få brukerens passord hash
- Nonce_manager: prikket navnet på en klasse som skal brukes til nonce forvaltning
Autentisering
Å godkjenne en bruker via Digest Auth, må denne plugin tilgang til enten deres rå passord eller deres "passord hash", som er den MD5-sammendrag av deres brukernavn, passord og autentiseringsområde:
def calculate_pwdhash (brukernavn, passord, riket):
. & Nbsp; returnere md5 ("% s:% s:% s"% (brukernavn, riket, passord)) hexdigest ()
Du må gi tilbakeringingsfunksjonen "get_password" eller "get_pwdhash" til DigestAuthPlugin.
nonce Ledelse
Sikkerheten til Digest Tilgang autentisering avhenger avgjørende på den sikre generasjon og mana av kryptografiske nonces. For å hindre opptak angriper serveren må avvise forespørsler som har en gjentatt nonce.
Detaljene ved nonce styring er blitt ekstrahert over i en separat grensesnitt, definert ved repoze.who.plugins.digestauth.noncemanager: NonceManager klasse. Standard implementering bruker HMAC-signert symboler og en in-memory cache over nylig sett nonce teller. Hvis du har mer spesielle behov du kanskje har lyst å implementere din egen NonceManager underklasse
Hva er nytt i denne utgaven:.
- Oppdater lisens til MPL 2.0.
Krav :
- Python
Kommentarer ikke funnet