repoze.who.plugins.browserid é um plugin repoze.who para autenticação via projeto BrowserID da Mozilla:
& Nbsp; https: //browserid.org/
Atualmente ele suporta verificação de declarações BrowserID, colocando-as aos serviços browserid.org verificador. À medida que o protocolo é mais estável que irá crescer a capacidade de verificar afirmações localmente.
A configuração do plugin pode ser feito a partir do arquivo de configuração repoze.who padrão da seguinte forma:
[Plugin: BrowserID]
use = repoze.who.plugins.browserid: make_plugin
audiências = www.mysite.com
rememberer_name = authtkt
[Plugin: authtkt]
use = repoze.who.plugins.auth_tkt: make_plugin
secret = My Secret Especial
[identificadores]
plugins = authtkt BrowserID
[autenticadores]
plugins = authtkt BrowserID
[challengers]
plugins = BrowserID
Note que temos emparelhado o plugin BrowserID com o plugin AuthTkt padrão para que ele possa se lembrar de login do usuário através das solicitações.
Personalização
As seguintes configurações podem ser especificadas no arquivo de configuração para personalizar o comportamento do plugin:
& nbsp; o público:
& Nbsp; A lista separada por espaços de nomes de hosts aceitáveis ou padrões glob para o público afirmação BrowserID. Qualquer afirmação cujo público não corresponde a um item na lista será rejeitada.
& Nbsp; Você deve especificar um valor para esta definição, uma vez que é essencial para a segurança do BrowserID. Consulte a seção Notas de segurança abaixo para mais detalhes.
& Nbsp; rememberer_name:
& Nbsp; O nome do outro plugin repoze.who que deve ser chamado para lembrar / esquecer a autenticação. Isso normalmente seria uma implementação assinado cookie, como o plugin auth_tkt embutido. Se unspecificed ou Nenhum depois de autenticação não será lembrado.
& Nbsp; postback_url:
& Nbsp; A URL para a qual BrowserID credenciais devem ser enviados para validação. O valor padrão é esperançosamente livres de conflito: /repoze.who.plugins.browserid.postback.
& Nbsp; assertion_field:
& Nbsp;
& Nbsp; O nome do campo de formulário POST em que encontrar a afirmação BrowserID. O valor padrão é "afirmação".
& Nbsp; came_from_field:
& Nbsp; O nome do campo de formulário POST em que encontrar a página de referência, para o qual o usuário será redirecionado depois de processar o seu login. O valor padrão é "came_from".
& Nbsp; csrf_field:
& Nbsp; O nome do campo de formulário POST em que encontrar o token CSRF proteção. O valor padrão é "csrf_token". Se definido para a cadeia vazia depois CSRF verificação está desativado.
& Nbsp; csrf_cookie_name:
& Nbsp;
& Nbsp; O nome do cookie em que para definir e encontrar o token CSRF proteção. O nome do cookie padrão é "browserid_csrf_token". Se definido para a cadeia vazia depois CSRF verificação está desativado.
& Nbsp; challenge_body:
& Nbsp; O local no qual se encontra o HTML da página de login, como uma referência python pontilhada ou um nome de arquivo. O HTML contida pode usar python sintaxe de interpolação de string para incluir detalhes do desafio, por exemplo, usar% (csrf_token) s para incluir o token CSRF.
& Nbsp; verifier_url:
& Nbsp; A URL do serviço verificador BrowserID, para que todas as afirmações serão postados para verificação. O valor padrão é o verificador browserid.org padrão e deve ser adequado para todos os fins.
& Nbsp; urlopen:
& Nbsp; O nome python pontilhada de um exigível implementação da mesma API como urllib.urlopen, que será usado para acessar o serviço BrowserID verificador. Os utils valor padrão: secure_urlopen que faz rigoroso certificado HTTPS verificação por padrão.
& nbsp; check_https:
& Nbsp; booleano que indica se a rejeitar as tentativas de login através de conexões enencrypted. O valor padrão é False.
& Nbsp; check_referer:
& Nbsp; booleano que indica se a rejeitar as tentativas de login, onde o cabeçalho de referência não correspondem a audiência esperada. O padrão é realizar esta verificação apenas para conexões seguras.
Segurança Notas
Proteção CSRF
Este plugin tenta oferecer alguma proteção básica contra ataques login-CSRF como descrito por Barth et. ai. em "Defesas robustos para Cross-Site Request Forgery":
& Nbsp; http: //seclab.stanford.edu/websec/csrf/csrf.pdf
Na terminologia do papel acima, ele combina um nonce independente de sessão com referer rigorosa verificação de conexões seguras. Você pode ajustar a proteção ajustando o "csrf_cookie_name", "check_referer" e definições "check_https".
Audiência Verificação
BrowserID usa a noção de uma "audiência" para proteger contra logins roubados. O público amarra uma afirmação BrowserID a um host específico, de modo que um atacante não pode recolher afirmações em um site e, em seguida, usá-los para fazer login para outro.
Este plugin realiza audiência rigorosa verificação por padrão. Você deve fornecer uma lista de corda público aceitável ao criar o plugin, e eles devem ser específicas para a sua aplicação. Por exemplo, se seu aplicativo serve pedidos em três diferentes nomes de host http://mysite.com, http://www.mysite.com e http://uploads.mysite.com, você pode fornecer:
[Plugin: BrowserID]
use = repoze.who.plugins.browserid: make_plugin
audiências = mysite.com * .mysite.com
Se o seu aplicativo faz verificação estrita do cabeçalho HTTP do host, então você pode instruir o plugin para usar o cabeçalho de host como o público, deixando a lista em branco:
[Plugin: BrowserID]
use = repoze.who.plugins.browserid: make_plugin
Audiências =
Este não é o comportamento padrão, uma vez que pode ser inseguro em alguns sistemas
O que é novo nesta versão:.
- Fix javascript para usar navigator.id.get () em vez do navigator.id.getVerifiedEmail preterido.
O que é novo na versão 0.4.0:.
- Migrar do PyVEP para PyBrowserID
O que é novo na versão 0.3.0:
- Atualização para compatibilidade com API PyVEP & gt; = 0,3. 0.
O que é novo na versão 0.2.1:
- Atualização para compatibilidade com API PyVEP & gt; = 0,2. 0.
O que é novo na versão 0.2.0:
- código de verificação Refactor em uma biblioteca sozinho standand-nomeado & quot;. PyVEP & quot ;, que agora é uma dependência
Requisitos :
- Python
Comentários não encontrado