repoze.who.plugins.browserid is een repoze.who plugin voor verificatie via BrowserID project Mozilla's:
& Nbsp; https: //browserid.org/
Het ondersteunt momenteel verificatie van BrowserID beweringen door ze op de browserid.org verificateur diensten. Omdat het protocol wordt stabieler zal de mogelijkheid hebben om beweringen lokaal controleren groeien.
Configuratie van de plugin kan worden gedaan vanaf de standaard repoze.who configuratiebestand als volgt:
[Plugin: BrowserID]
gebruik = repoze.who.plugins.browserid: make_plugin
publiek = www.mysite.com
rememberer_name = authtkt
[Plugin: authtkt]
gebruik = repoze.who.plugins.auth_tkt: make_plugin
secret = My Special Secret
[Identifiers]
plugins = authtkt BrowserID
[Authenticators]
plugins = authtkt BrowserID
[Uitdagers]
plugins = BrowserID
Merk op dat we de BrowserID plugin met de standaard AuthTkt plugin hebt gekoppeld, zodat het inloggen van de gebruiker tegenover verzoeken kunnen herinneren.
Customization
De volgende instellingen kunnen worden opgegeven in het configuratiebestand om het gedrag van de plugin aan te passen:
& Nbsp; het publiek:
& Nbsp; Een door spaties gescheiden lijst van aanvaardbare hostnames of glob patronen voor de BrowserID bewering publiek. Elke bewering waarvan de doelgroep niet overeenkomt met een item in de lijst zal worden afgewezen.
& Nbsp; U moet een waarde opgeven voor deze instelling, want het is een integraal onderdeel van de beveiliging van BrowserID. Zie het gedeelte Beveiliging Notes hieronder voor meer details.
& Nbsp; rememberer_name:
& Nbsp; De naam van een andere repoze.who plugin die moet worden opgeroepen om te onthouden / vergeten de authenticatie. Deze zouden in het algemeen een ondertekende-cookie-implementatie, zoals de ingebouwde auth_tkt plugin. Als unspecificed of None dan zal authenticatie niet onthouden.
& Nbsp; postback_url:
& Nbsp; De URL waarop de kwalificaties BrowserID dienen te worden gezonden ter validatie. De standaard waarde is hopelijk in strijd zijn gratis: /repoze.who.plugins.browserid.postback.
& Nbsp; assertion_field:
& Nbsp;
& Nbsp; De naam van het veld POST vorm waarin de BrowserID bewering te vinden. De standaardwaarde is "bewering".
& Nbsp; came_from_field:
& Nbsp; De naam van het veld POST vorm waarin de verwijzende pagina, waarnaar de gebruiker wordt doorgestuurd na het verwerken van hun login. De standaardwaarde is "came_from".
& Nbsp; csrf_field:
& Nbsp; De naam van het veld POST vorm waarin de CSRF bescherming token te vinden. De standaardwaarde is "csrf_token". Indien ingesteld op de lege string dan CSRF controle is uitgeschakeld.
& Nbsp; csrf_cookie_name:
& Nbsp;
& Nbsp; De naam van de cookie in te stellen en vind de bescherming CSRF token. De standaardnaam cookie wordt "browserid_csrf_token". Indien ingesteld op de lege string dan CSRF controle is uitgeschakeld.
& Nbsp; challenge_body:
& Nbsp; De locatie waar de HTML voor de login pagina te vinden, hetzij als een gestippelde python referentie of een bestandsnaam. De informatie HTML kan python snaar interpolatie syntax gebruiken om de details van de uitdaging, bijvoorbeeld onder Gebruik% (csrf_token) s aan de CSRF token bevatten.
& Nbsp; verifier_url:
& Nbsp; De URL van de BrowserID verificateur dienst, die door alle beweringen zal worden geplaatst ter controle. De standaard waarde is de standaard browserid.org verificateur en geschikt voor alle doeleinden zou moeten zijn.
& Nbsp; urlopen:
& Nbsp; De gestippelde python naam van een opvraagbaar uitvoering dezelfde API als urllib.urlopen, die zal worden gebruikt om de BrowserID verificateur service. De standaardwaarde utils: secure_urlopen die strenge HTTPS certificaat controleren standaard doet.
& Nbsp; check_https:
& Nbsp; Boolean die aangeeft of te inlogpogingen te weigeren dan enencrypted verbindingen. De standaardwaarde is false.
& Nbsp; check_referer:
& Nbsp; Boolean die aangeeft of te inlogpogingen waar de referer header komt niet overeen met het verwachte publiek te weigeren. De standaard is om deze controle voor enige veilige verbindingen uit te voeren.
Beveiliging Notes
CSRF bescherming
Deze plugin probeert om een aantal fundamentele bescherming te bieden tegen de login-CSRF aanvallen zoals beschreven door Barth et. al. in "Robuuste Verdediging voor Cross-Site Request Vervalsing":
& Nbsp; http: //seclab.stanford.edu/websec/csrf/csrf.pdf
In de terminologie van de hierboven papier, combineert een sessie-onafhankelijke nonce strikt referer controleren op beveiligde verbindingen. U kunt de bescherming tweaken door het aanpassen van de "csrf_cookie_name", "check_referer" en instellingen "check_https".
Publiek controleren
BrowserID maakt gebruik van het idee van een "publiek" te beschermen tegen diefstal logins. Het publiek stropdassen een BrowserID bewering naar een specifieke host, zodat een aanvaller geen beweringen kunnen verzamelen op een site en vervolgens te gebruiken om in te loggen naar de andere.
Deze plugin voert strenge publiek controleert standaard. U moet een lijst van aanvaardbare publiek snaar te bieden bij het maken van de plugin, en ze moeten specifiek zijn voor uw sollicitatie. Bijvoorbeeld, als uw aanvraag dient verzoeken op drie verschillende hostnames http://mysite.com, http://www.mysite.com en http://uploads.mysite.com, zou je bieden:
[Plugin: BrowserID]
gebruik = repoze.who.plugins.browserid: make_plugin
publiek = mysite.com * .mysite.com
Als uw aanvraag doet strikte controle van het HTTP Host header, dan kunt u de plugin te instrueren om de Host header als het publiek te gebruiken door het verlaten van de lijst leeg:
[Plugin: BrowserID]
gebruik = repoze.who.plugins.browserid: make_plugin
publiek =
Dit is niet het standaard gedrag, omdat het niet goed op sommige systemen kan zijn
Wat is nieuw in deze release:.
- Fix javascript te navigator.id.get (gebruik) in plaats van de afgekeurde navigator.id.getVerifiedEmail.
Wat is nieuw in versie 0.4.0:.
- Migreren van PyVEP tot PyBrowserID
Wat is nieuw in versie 0.3.0:
- Update voor API compatibiliteit met PyVEP & gt; = 0,3. 0.
Wat is nieuw in versie 0.2.1:
- Update voor API compatibiliteit met PyVEP & gt; = 0,2. 0.
Wat is nieuw in versie 0.2.0:
- Refactor verificatiecode in een standand-alone bibliotheek, genaamd & quot;. PyVEP & quot ;, die nu een afhankelijkheid
Eisen
- Python
Reacties niet gevonden