repoze.who.plugins.browserid este un plugin repoze.who pentru autentificarea prin proiect BrowserID Mozilla:
& Nbsp; https: //browserid.org/
Se acceptă în prezent verificarea afirmațiilor BrowserID prin afișare la serviciile browserid.org verificatori. În protocolul devine mai stabil, va crește capacitatea de a verifica afirmațiile pe plan local.
Configurarea plugin se poate face de la standard fișierul de configurare repoze.who astfel:
[Plugin: browserid]
utilizare = repoze.who.plugins.browserid: make_plugin
publicul = www.mysite.com
rememberer_name = authtkt
[Plugin: authtkt]
utilizare = repoze.who.plugins.auth_tkt: make_plugin
secrete = Secret My Special
[de identificare]
plugin-uri = authtkt browserid
[autentificatori]
plugin-uri = authtkt browserid
[pretendenți]
plugin-uri = browserid
Rețineți că am asociat plugin BrowserID cu plugin-ul standard, AuthTkt astfel încât să poată aminti de autentificare a utilizatorului pe cereri.
Personalizare
Următoarele setări pot fi specificate în fișierul de configurare a personaliza comportamentul plugin:
& nbsp; public:
& Nbsp; O lista separate cu spatii de nume de gazde acceptabile sau modele glob pentru publicul afirmare BrowserID. Orice afirmație a căror audiență nu se potrivește cu un element din lista va fi respins.
& Nbsp; Trebuie să specificați o valoare pentru această setare, deoarece este parte integrantă a securității BrowserID. Consultați secțiunea Note de securitate de mai jos pentru mai multe detalii.
& Nbsp; rememberer_name:
& Nbsp; numele unui alt plugin repoze.who care ar trebui să fie numit să-și amintească / uita autentificarea. Acest lucru ar fi de obicei o implementare semnat-cookie, cum ar fi plugin auth_tkt built-in. Dacă unspecificed sau Fără atunci autentificare nu va fi amintit.
& Nbsp; postback_url:
& Nbsp; URL-ul la care BrowserID acreditările ar trebui să fie trimise pentru validare. Valoarea implicită este, sperăm, în conflict liber: /repoze.who.plugins.browserid.postback.
& Nbsp; assertion_field:
& Nbsp;
& Nbsp; numele domeniului formular POST în care pentru a găsi afirmația BrowserID. Valoarea implicită este "afirmație".
& Nbsp; came_from_field:
& Nbsp; numele domeniului formular POST în care pentru a găsi pagina de trimitere, la care utilizatorul va fi directionat după prelucrarea autentificare lor. Valoarea implicită este "came_from".
& Nbsp; csrf_field:
& Nbsp; numele domeniului formular POST în care pentru a găsi jetonul de protecție CSRF. Valoarea implicită este "csrf_token". Dacă este setat la șir gol atunci CSRF verificare este dezactivat.
& Nbsp; csrf_cookie_name:
& Nbsp;
& Nbsp; Numele cookie în care pentru a seta și a găsi jetonul de protecție CSRF. Numele implicit cookie este "browserid_csrf_token". Dacă este setat la șir gol atunci CSRF verificare este dezactivat.
& Nbsp; challenge_body:
& Nbsp; locul în care pentru a găsi HTML pentru pagina de login, fie ca o referință piton punctat sau un nume de fișier. Conținute HTML poate utiliza piton sintaxă șir interpolare pentru a include detalii cu privire la provocare, de exemplu utilizați% (csrf_token) s pentru a include token CSRF.
& Nbsp; verifier_url:
& Nbsp; URL-ul serviciului de verificator BrowserID, la care toți afirmații vor fi postate pentru verificare. Valoarea implicită este verificator browserid.org standard si trebuie să fie potrivită pentru toate scopurile.
& Nbsp; urlopen:
& Nbsp; punctat Numele piton de un apelabile de punere în aplicare în același API ca urllib.urlopen, care va fi utilizat pentru a accesa serviciul BrowserID verificator. Cele utils valoare implicită: secure_urlopen care face certificat HTTPS strict control în mod implicit.
& nbsp; check_https:
& Nbsp; boolean care indică dacă a respinge încercările de autentificare prin conexiuni enencrypted. Valoarea implicită este False.
& Nbsp; check_referer:
& Nbsp; boolean care indică dacă a respinge autentificare încercări în cazul în care antetul referer nu se potriveste cu publicul așteptat. Valoarea implicită este de a efectua această verificare doar pentru conexiuni sigure.
Securitate constată
Protecția CSRF
Acest plugin încearcă să ofere o anumită protecție extinsă împotriva atacurilor de autentificare, CSRF cum este descris de Barth et. colab. în "Apararea robuste pentru Cross-Site Request Falsificarea":
& Nbsp; http: //seclab.stanford.edu/websec/csrf/csrf.pdf
În terminologia de hârtie de mai sus, se combină o nonce-sesiune independent cu referer strict control pentru conexiuni sigure. Puteți tweak protecția prin ajustarea "csrf_cookie_name", "check_referer" și "check_https" setări.
Audiența Verificarea
BrowserID folosește noțiunea de "public" pentru a proteja împotriva login furate. Publicul leagă o afirmație BrowserID la un anumit host, astfel încât un atacator nu poate colecta afirmațiile-un singur site și apoi să le folosească pentru a vă conecta la un alt.
Acest plugin efectuează audiență strict control în mod implicit. Tu trebuie să furnizeze o listă cu șir audiență acceptabile la crearea plugin-ul, iar acestea ar trebui să fie specifice pentru cererea dumneavoastră. De exemplu, în cazul în care cererea dumneavoastră deservește cererile din trei nume de gazde diferite http://mysite.com, http://www.mysite.com și http://uploads.mysite.com, s-ar putea oferi:
[Plugin: browserid]
utilizare = repoze.who.plugins.browserid: make_plugin
publicul = mysite.com * .mysite.com
Dacă cererea dumneavoastră nu verificarea strictă a antetul HTTP gazdă puteti instrui plugin pentru a utiliza antetul gazdă ca publicul lăsând listă martor:
[Plugin: browserid]
utilizare = repoze.who.plugins.browserid: make_plugin
audiențe =
Acest lucru nu este comportamentul implicit, deoarece acesta poate fi nesigur pe unele sisteme
Ce este nou în această versiune:.
- Fix JavaScript pentru a utiliza navigator.id.get () în loc de navigator.id.getVerifiedEmail depreciat.
Ce este nou în versiunea 0.4.0:.
- Migrarea de la PyVEP la PyBrowserID
Ce este nou în versiunea 0.3.0:
- Actualizare pentru API compatibilitate cu PyVEP & gt; = 0,3. 0.
Ce este nou în versiunea 0.2.1:
- Actualizare pentru API compatibilitate cu PyVEP & gt; = 0,2. 0.
Ce este nou în versiunea 0.2.0:
- cod de verificare Refactor într-o bibliotecă-standand singur nume & quot;. & quot ;, PyVEP care este acum o dependență
Cerințe :
- Python
Comentariile nu a fost găsit