repoze.who.plugins.digestauth הוא תוסף repoze.who יישום Digest הגישה האימות של HTTP לפי RFC-2,617:
& Nbsp; http: //tools.ietf.org/html/rfc2617
הוא מספק תמיכה טובה לפרוטוקול כפי שהוא משמש בדרך כלל בטבע:
- שני qop = "auth" וqop = מצבים "auth-int"
- מצב תאימות עבור לקוחות מורשה
- בדיקת Nonce-ספירת הלקוח
- הדור הבא של Nonce באמצעות האימות-Info הכותרת
התכונות של הפרוטוקול הבא נתמכות רק לעתים נדירות על ידי לקוחות HTTP ובכך עדיין לא יושמו:
- MD5-sess, או כל אלגוריתם hash אחר מאשר MD5
- אימות הדדית באמצעות כותרת אימות-Info
תצורה
תצורה של תוסף התקציר-auth ניתן לעשות מאת קובץ config repoze.who הסטנדרטי כמו כל כך:
[תוסף: digestauth]
שימוש = repoze.who.plugins.digestauth: make_plugin
ממלכה = MyRealm
get_pwdhash = mymodule: get_pwdhash
אפשרויות התצורה הבאות זמינות:
- תחום: מחרוזת תחום; כלל מילה במילה בכותרת האתגר
- תחום: מחרוזת תחום; כלל מילה במילה בכותרת האתגר
- Qop: האיכות הרצויה של הגנה ("auth" או "auth-int")
- Get_password: שם המנוקדת של התקשרות כדי לקבל את הסיסמה של המשתמש
- Get_pwdhash: שם המנוקדת של התקשרות כדי לקבל חשיש הסיסמה של המשתמש
- Nonce_manager: שם המנוקדת של כיתה לשימוש עבור ניהול Nonce
אימות
לאימות משתמש באמצעות Digest Auth, תוסף זה צריך גישה לאו את הסיסמה שלהם גלם או "חשיש הסיסמה", שהוא לקט MD5 של ממלכת שם משתמש, הסיסמה ואימותם:
calculate_pwdhash def (שם משתמש, סיסמא, תחום):
. & Nbsp; לחזור md5 ("% s:% s:% s"% (שם משתמש, תחום, סיסמא)) hexdigest ()
עליך לספק את "get_password" הפונקציה של קריאה חוזרת או "get_pwdhash" לDigestAuthPlugin.
ניהול Nonce
הביטחון של Digest גישה אימות תלוי באופן מכריע על הדור וmanagent המאובטח של nonces הצפנה. על מנת למנוע שידור חוזר תוקף את השרת חייב לדחות את הבקשות שיש לי Nonce חוזרת ונשנית.
הפרטים של ניהול Nonce הופקו לממשק נפרד, שהוגדרו על ידי repoze.who.plugins.digestauth.noncemanager: כיתת NonceManager. יישום ברירת המחדל משתמש אסימונים חתמו-HMAC ומטמון בזיכרון של ספירת Nonce ראתה לאחרונה. אם יש לך צורך מיוחד יותר שאולי תרצה ליישם תת NonceManager שלך
מה חדש במהדורה זו:.
- רישיון עדכון לMPL 2.0.
דרישות :
- Python
תגובות לא נמצא