Python: Biblioteca OAuth [fechado]
Pergunta
Existe uma biblioteca python flegged completo para OAuth? Eu não encontrei qualquer alça que reemissão de tokens OAuth, uma vez que expirar (Passo 5 na Yahoo OAuth fluir ).
Então, o que é o mais completo? Eu tentei o de oauth.net , e não lidar com oauth_session_handle
que a especificação OAuth diz é necessária se o terminal devolve-lo (como o Yahoo faz).
Então, o que biblioteca eu deveria estar usando? todos eles são incompletos e eu tenho que fazer isso sozinho?
Solução
Eu acho que de Leah Culver python-oauth (que você já encontrou) é a melhor partida apontar, mesmo que não é completa.
Leah tem um espelho no github que tornaria mais fácil para colaborar: http://github.com/leah/python-oauth/tree/master/oauth/
Atualizar : Tal como está hoje, parece que python-oauth2 de SimpleGeo é o melhor ponto de partida.
Outras dicas
Rauth é o novo melhor resposta, tanto quanto eu estou preocupado. Wraps solicita biblioteca e está bem conservado.
OAuth site oficial recomenda tanto Rauth e oauthlib . Citando eles sobre Rauth :
Max Countryman mantém a Rauth e é considerado o mais up-to-date e implementação testado unidade de OAuth para Python.
Em relação oauthlib :
Outra grande biblioteca é OAuthlib que implementa a mais recente RFC, incluindo cliente e servidor.
UPDATE: 09 de fevereiro de 2019
Ambas as bibliotecas ainda são mencionados no OAuth libs recomendado para Python , mas olhando para sua Github página, oauthlib foi mais freqüência mantida.
Confira biblioteca de Mike Knapp em GitHub . Agradável e simples, não necessita ser instalado. E trabalhos no Google App Engine.
pedidos biblioteca de Uso Kenneth Reitz juntamente com o solicitações de-oauth plug-in ligado fora de http://docs.python-requests.org/en/latest/community/out-there/
No entanto, outra resposta para a 9-year-old questão. O que se segue são bibliotecas para OAuth 2.0 e OpenID Ligação e implementações exemplo escritos em Python. Note-se que eles usam Authlete como um serviço de back-end.
- authlete-python: biblioteca para Python ( GitHub , PyPI )
- authlete-python-django: biblioteca para Django ( GitHub , PyPI )
- django-oauth-servidor : implementação de exemplo de um servidor de autorização
- django-resource-servidor : implementação de exemplo de um servidor de recursos
A questão foi publicada em 2009. Desde então, muitas especificações importantes foram desenvolvidos. A seguir estão alguns exemplos.
- 2012, Out - RFC 6749 , O OAuth 2.0 Autorização Framework
- 2012, Out - RFC 6750 , a autorização Framework OAuth 2.0: Uso Portador token
- 2014, Nov - OpenID Ligação Núcleo 1,0
- 2014, Nov - OpenID Ligação Descoberta 1.0
- 2014, Nov - Registro OpenID Ligação Dinâmica Client 1.0
- 2015, Sep - RFC 7636 , Key prova para o Código Exchange clientes OAuth públicos
- 2018, Out - Financial grau API (FAPI) da Implementer Projecto 2 ( Parte 1 , Parte 2 )
- 2019, Fev - OpenID Connect Client Iniciada Backchannel Fluxo de Autenticação - Núcleo 1,0
- 2019, Ago - RFC 8628 , OAuth 2.0 Dispositivo de Autorização Grant
- (Draft) - OAuth 2.0 Mutual TLS Autenticação do cliente e Certificado-Bound tokens de acesso
Agora o volume de especificações relacionadas com OAuth 2.0 e OpenID Connect é enorme, implementações de pleno direito são raros. Por exemplo, no momento da redação deste texto (20 de agosto de 2019), o número de certificado OpenID implementações provedor que suporte API-grade financeira (FAPI) é apenas 4. Além disso, o número de implementações OpenID Provider certificados que o apoio básico OP, OP implícita, OP Hybrid, configuração OP, Dynamic OP e Forma pós-operatório é 5. (Authlete é a única aplicação que está incluído em ambos)
A seguir estão alguns pontos consideração para OUAth 2,0 implementações:
- RFC 7636 de apoio (importante para a segurança)
- Suporte OpenID Connect (ou apenas OAuth 2.0?)
- Financial grau API (FAPI) apoio, se você precisa de maior segurança. Veja " Financeiro de grau API (FAPI), explicado por uma implementador " para detalhes técnicos.