repoze.who.plugins.digestauth plugin repoze.who menerapkan HTTP Digest Access Authentication sesuai RFC-2617:
& Nbsp; http: //tools.ietf.org/html/rfc2617
Ini memberikan dukungan yang baik untuk protokol seperti yang biasanya digunakan di alam bebas:
- Baik QOP = "auth" dan QOP = "auth-int" mode
- Modus kompatibilitas untuk warisan klien
- Memeriksa klien Nonce-count
- Generasi-Nonce melalui Authentication-Info sundulan
Berikut adalah beberapa fitur dari protokol jarang didukung oleh HTTP klien dan dengan demikian belum dilaksanakan:
- MD5-sess, atau algoritma hash selain MD5
- Otentikasi bersama melalui header Authentication-Info
Konfigurasi
Konfigurasi plugin digest-auth dapat dilakukan dari file konfigurasi standar repoze.who seperti:
[Plugin: digestauth]
Penggunaan = repoze.who.plugins.digestauth: make_plugin
wilayah = MyRealm
get_pwdhash = mymodule: get_pwdhash
Opsi konfigurasi yang tersedia:
- Alam: string alam; termasuk verbatim dalam tantangan sundulan
- Domain: string domain; termasuk verbatim dalam tantangan sundulan
- QOP: kualitas yang diinginkan perlindungan ("auth" atau "auth-int")
- Get_password: burik nama panggilan balik untuk mendapatkan password pengguna
- Get_pwdhash: burik nama panggilan balik untuk mendapatkan password hash pengguna
- Nonce_manager: burik nama kelas yang akan digunakan untuk manajemen Nonce
Otentikasi
Untuk mengotentikasi pengguna melalui Digest Tupoksi, plugin ini membutuhkan akses ke salah satu sandi mentah atau "password hash" mereka, yang merupakan MD5 digest mereka username, password dan otentikasi alam:
def calculate_pwdhash (username, password, alam):
. & Nbsp; kembali md5 ("% s:% s:% s"% (username, alam, password)) hexdigest ()
Anda harus menyediakan fungsi callback "get_password" atau "get_pwdhash" ke DigestAuthPlugin.
Manajemen Nonce
Keamanan Digest Access Authentication sangat tergantung pada generasi aman dan managent dari nonces kriptografi. Untuk mencegah serangan ulangan server harus menolak permintaan yang memiliki Nonce berulang.
Rincian manajemen Nonce telah diekstraksi ke antarmuka yang terpisah, yang didefinisikan oleh repoze.who.plugins.digestauth.noncemanager: class NonceManager. Implementasi standar menggunakan token HMAC-ditandatangani dan cache di memori dari jumlah Nonce baru-baru ini terlihat. Jika Anda memiliki kebutuhan yang lebih khusus Anda mungkin ingin menerapkan NonceManager subclass Anda sendiri
Apa yang baru dalam rilis ini:.
- Perbarui lisensi untuk MPL 2.0.
Persyaratan :
- Python
Komentar tidak ditemukan