repoze.who.plugins.browserid είναι ένα plugin repoze.who για τον έλεγχο ταυτότητας μέσω του έργου του Mozilla BrowserID:
& Nbsp? Https: //browserid.org/
Υποστηρίζει σήμερα επαλήθευση των ισχυρισμών BrowserID με την ανάρτησή τους στις υπηρεσίες browserid.org ελεγκτή. Καθώς το πρωτόκολλο γίνεται πιο σταθερό θα αυξηθεί η δυνατότητα να επαληθεύσει τους ισχυρισμούς σε τοπικό επίπεδο.
Διαμόρφωση του plugin μπορεί να γίνει από το πρότυπο αρχείο ρυθμίσεων repoze.who όπως έτσι:
[Plugin: BrowserID]
χρήση = repoze.who.plugins.browserid: make_plugin
ακροατήρια = www.mysite.com
rememberer_name = authtkt
[Plugin: authtkt]
χρήση = repoze.who.plugins.auth_tkt: make_plugin
μυστικό = Ειδικό μυστικό μου
[Αναγνωριστικά]
plugins = authtkt BrowserID
[Ελεγκτές ταυτότητας]
plugins = authtkt BrowserID
[Αμφισβητίες]
plugins = BrowserID
Σημειώστε ότι έχουμε αντιστοιχίσει το plugin BrowserID με το πρότυπο AuthTkt plugin, έτσι ώστε να μπορεί να θυμηθεί την είσοδο του χρήστη σε όλη την αιτήματα.
Προσαρμογή
Οι ακόλουθες ρυθμίσεις μπορούν να καθοριστούν στο αρχείο ρυθμίσεων για να προσαρμόσετε τη συμπεριφορά του plugin:
& Nbsp? Ακροατήρια:
& Nbsp? Ένας χώρος-διαχωρίζονται λίστα των αποδεκτών ονόματα εξυπηρετητών ή μοτίβα glob για τον ισχυρισμό κοινό BrowserID. Κάθε ισχυρισμός του οποίου το κοινό δεν ταιριάζει με ένα στοιχείο στη λίστα, θα πρέπει να απορριφθεί.
& Nbsp? Πρέπει να καθορίσετε μια τιμή για αυτή τη ρύθμιση, αφού είναι αναπόσπαστο για την ασφάλεια του BrowserID. Ανατρέξτε στην ενότητα Σημειώσεις Ασφαλείας παρακάτω για περισσότερες λεπτομέρειες.
& Nbsp? Rememberer_name:
& Nbsp? Το όνομα του άλλου plugin repoze.who που θα πρέπει να κληθούν να θυμόμαστε / ξεχάσετε τον έλεγχο ταυτότητας. Αυτό συνήθως είναι μια εφαρμογή που υπογράφηκε το cookie, όπως το ενσωματωμένο auth_tkt plugin. Αν unspecificed ή Καμία τότε ταυτότητας δεν θα πρέπει να θυμόμαστε.
& Nbsp? Postback_url:
& Nbsp? Η διεύθυνση URL στην οποία BrowserID διαπιστευτήρια θα πρέπει να σταλεί για επικύρωση. Η προεπιλεγμένη τιμή είναι αισίως εμπόλεμες: /repoze.who.plugins.browserid.postback.
& Nbsp? Assertion_field:
& Nbsp?
& Nbsp? Το όνομα του πεδίου φόρμας POST για να βρει τον ισχυρισμό BrowserID. Η προεπιλεγμένη τιμή είναι "ισχυρισμός".
& Nbsp? Came_from_field:
& Nbsp? Το όνομα του πεδίου φόρμας POST για να βρείτε τη σελίδα αναφοράς, στο οποίο θα γίνει η ανακατεύθυνση του χρήστη μετά την επεξεργασία σύνδεσής τους. Η προεπιλεγμένη τιμή είναι "came_from".
& Nbsp? Csrf_field:
& Nbsp? Το όνομα του πεδίου φόρμας POST για να βρείτε το διακριτικό προστασία CSRF. Η προεπιλεγμένη τιμή είναι "csrf_token". Εάν ρυθμιστεί το κενό αλφαριθμητικό τότε ο έλεγχος CSRF είναι απενεργοποιημένη.
& Nbsp? Csrf_cookie_name:
& Nbsp?
& Nbsp? Το όνομα του cookie για να ρυθμίσετε και να βρει το διακριτικό προστασία CSRF. Το προεπιλεγμένο όνομα μπισκότο "browserid_csrf_token". Εάν ρυθμιστεί το κενό αλφαριθμητικό τότε ο έλεγχος CSRF είναι απενεργοποιημένη.
& Nbsp? Challenge_body:
& Nbsp? Η θέση στην οποία θα βρείτε το HTML για τη σελίδα σύνδεσης, είτε ως μια διακεκομμένη αναφορά πύθωνα ή ένα όνομα αρχείου. Η περιορισμένη HTML μπορούν να χρησιμοποιούν python σύνταξη εγχόρδων παρεμβολής να περιλαμβάνει λεπτομέρειες σχετικά με την πρόκληση, π.χ. χρησιμοποιήστε% (csrf_token) ώστε να περιλαμβάνει και το κουπόνι CSRF.
& Nbsp? Verifier_url:
& Nbsp? Η διεύθυνση URL του BrowserID υπηρεσία ελεγκτή, στην οποία όλοι οι ισχυρισμοί θα αναρτηθούν για τον έλεγχο. Η προεπιλεγμένη τιμή είναι το πρότυπο ελεγκτής browserid.org και θα πρέπει να είναι κατάλληλο για όλους τους σκοπούς.
& Nbsp? Urlopen:
& Nbsp? Η διακεκομμένη όνομα πύθωνας της εξαγοράσιμου την εφαρμογή της ίδιας API ως urllib.urlopen, τα οποία θα χρησιμοποιηθούν για την πρόσβαση στην υπηρεσία BrowserID ελεγκτή. Οι προεπιλεγμένες utils τιμή: secure_urlopen η οποία κάνει αυστηρό έλεγχο πιστοποιητικό HTTPS από προεπιλογή.
& Nbsp? Check_https:
& Nbsp? Boolean που δείχνει αν θα απορρίψει προσπάθειες σύνδεσης πάνω enencrypted συνδέσεις. Η προεπιλεγμένη τιμή είναι False.
& Nbsp? Check_referer:
& Nbsp? Boolean που δείχνει αν θα απορρίψει προσπάθειες σύνδεσης, όπου η κεφαλίδα referer δεν ταιριάζει με το αναμενόμενο ακροατήριο. Η προεπιλογή είναι να εκτελέσετε αυτόν τον έλεγχο μόνο για ασφαλείς συνδέσεις.
Ασφάλεια Σημειώσεις
CSRF Προστασίας
Αυτό το plugin επιχειρεί να παρέχουν κάποια βασική προστασία από επιθέσεις σύνδεσης-CSRF όπως περιγράφεται από τον Barth et. αϊ. σε "ισχυρής άμυνας για Αίτηση Cross-Site Πλαστογραφία":
& Nbsp? Http: //seclab.stanford.edu/websec/csrf/csrf.pdf
Σύμφωνα με την ορολογία της ανωτέρω έγγραφο, συνδυάζει μια συνεδρία ανεξάρτητη nonce με αυστηρή referer έλεγχο για ασφαλείς συνδέσεις. Μπορείτε να ρυθμίσετε την προστασία από την ένδειξη «csrf_cookie_name", "check_referer" και "check_https" ρυθμίσεις.
Κοινό Έλεγχος
BrowserID χρησιμοποιεί την έννοια του «κοινού» για την προστασία της κλοπής συνδέσεις. Το κοινό δένει ένα ισχυρισμό BrowserID σε ένα συγκεκριμένο υπολογιστή, έτσι ώστε ένας εισβολέας δεν μπορεί να συλλέξει τους ισχυρισμούς σε μια σελίδα και, στη συνέχεια, χρησιμοποιήστε τα για να συνδεθείτε σε ένα άλλο.
Αυτό το plugin εκτελεί αυστηρή κοινό έλεγχο από προεπιλογή. Θα πρέπει να παρέχει έναν κατάλογο των αποδεκτών ακροατήριο χορδών κατά τη δημιουργία του plugin, και θα πρέπει να είναι ειδικά για την εφαρμογή σας. Για παράδειγμα, αν η αίτησή σας εξυπηρετεί αιτήματα σε τρία διαφορετικά ονόματα κεντρικού υπολογιστή http://mysite.com, http://www.mysite.com και http://uploads.mysite.com, μπορεί να παρέχει:
[Plugin: BrowserID]
χρήση = repoze.who.plugins.browserid: make_plugin
ακροατήρια = mysite.com * .mysite.com
Εάν η εφαρμογή σας κάνει αυστηρό έλεγχο του HTTP header υποδοχής, τότε μπορείτε να αναθέσει το plugin για να χρησιμοποιήσετε την κεφαλίδα κεντρικού υπολογιστή, όπως το κοινό, αφήνοντας στην κενή λίστα:
[Plugin: BrowserID]
χρήση = repoze.who.plugins.browserid: make_plugin
ακροατήρια =
Αυτή δεν είναι η προεπιλεγμένη συμπεριφορά, δεδομένου ότι μπορεί να είναι ανασφαλής σχετικά με ορισμένα συστήματα
Τι είναι καινούργιο σε αυτή την έκδοση:.
- Fix JavaScript για να χρησιμοποιήσετε navigator.id.get () αντί της αποδοκιμαστεί navigator.id.getVerifiedEmail.
Τι είναι καινούργιο στην έκδοση 0.4.0:.
- Μετεγκατάσταση από PyVEP να PyBrowserID
Τι είναι καινούργιο στην έκδοση 0.3.0:
- Ενημέρωση για το API συμβατότητα με PyVEP & gt? = 0,3. 0.
Τι είναι καινούργιο στην έκδοση 0.2.1:
- Ενημέρωση για το API συμβατότητα με PyVEP & gt? = 0,2. 0.
Τι είναι καινούργιο στην έκδοση 0.2.0:
- Κωδικός επαλήθευσης Refactor σε standand-μόνη βιβλιοθήκη που ονομάζεται & quot?. PyVEP & quot ;, η οποία είναι πλέον μια εξάρτηση
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε