2011-01-10 15 views
8

Tengo una aplicación web muy pequeña usando Flask. Ahora me gustaría agregar una autenticación muy básica al sitio (no necesito autorización). Como Flask no admite auth & auth de fábrica, me gustaría conectar un middleware de WSGI para este trabajo. La aplicación web solo la usan unas 10 personas, todas están en Facebook. Entonces me gustaría usar la interfaz OAuth de Facebook.WSGI Middleware para autenticación OAuth

Miré rápidamente a través de the wsgi.org list of WSGI Middleware y noté dos cosas: El middleware disponible es bastante complejo de usar, o ya está muy anticuado.

he encontrado los siguientes paquetes:

  • wsgiauth - Tiene fecha. Última actualización es del año 2006 y no puedo encontrar ninguna documentación en línea
  • authkit - Parece muy bonito, pero no es compatible con OAuth
  • barrel - Parece sólo para apoyar BASIC y el formulario de autenticación basada. Es también un poco de fecha (última versión es de 2008)
  • webmodules - Sólo soporta autenticación BASIC

Teniendo en cuenta esta lista, yo diría que AuthKit es la más interesante. Por desgracia, no es compatible con OAuth. Lo más probable es que siga adelante y le dé una oportunidad. Pero, mientras estoy haciendo garabatos alrededor, tengo curiosidad para ver si hay alguien por ahí que tiene una mejor solución por ahí ...

+2

No es un profesional en la autenticación, pero el middleware fechado sugiere que usarlo sería una vulnerabilidad de seguridad, o que el middleware es bastante maduro/completo? – Wilduck

Respuesta

5

debería echar un vistazo a repoze.who, que es marco de autenticación para la aplicación WSGI con los plugins disponibles para:

    básica
  • HTTP/digest
  • de autenticación mediante formularios HTML con el almacenamiento de entradas de autenticación en las cookies.
  • OpenID
  • OAuth
  • LDAP
  • Muchos más no sé ...
+0

Durante el fin de semana, di repoze.who a go. Se ve muy prometedor. Lamentablemente, el complemento OAuth solo ofrece el lado del servidor OAuth * *. Para mi proyecto, necesitaría un lado del cliente. Estoy pensando en crear un plugin yo mismo. Pero, dada la velocidad con la que trabajo en mis proyectos favoritos, esto puede llevar un tiempo;) – exhuma

2

Si usted está mirando para autorizar a los clientes contra Facebook, ¿por qué no utilizar el SDK Python que proporcionan que incluye una interfaz oauth que se encuentra aquí https://github.com/facebook/python-sdk.

Cuestiones relacionadas