ylab color python google-app-engine authentication

python - color - plotly layout



AutenticaciĆ³n personalizada en el motor de la aplicaciĆ³n google(python) (10)

Además de todas las otras excelentes respuestas, también añadiría que Facebook , Twitter y github ofrecen mecanismos OAuth que puede utilizar como soporte de autenticación llave en mano para su aplicación.

¿Alguien sabe o sabe de algún lugar donde puedo aprender cómo crear un proceso de autenticación personalizado usando Python y el motor de la aplicación de Google?

No quiero usar cuentas de Google para la autenticación y quiero poder crear mis propios usuarios.

Si no es específicamente para el motor de la aplicación de google, ¿algún recurso sobre cómo implementar la autenticación usando python y django?



Bueno, django 1.0 se actualizó hoy en Google App Engine. Pero puedes hacer la autenticación de usuario como cualquier otra cosa, simplemente no puedes usar sesiones porque es muy masiva.

Hay una utilidad de sesión en http://gaeutilities.appspot.com/

http://gaeutilities.appspot.com/session

http://code.google.com/p/gaeutilities/

O,

Tienes que crear tus propias tablas de usuario y hash o cifrar contraseñas, entonces probablemente crees un sistema de tokens que imita la sesión con solo un hash de token o una cookie uuid (las sesiones son solo cookies de todos modos).

He implementado algunos con solo los encabezados de solicitud y respuesta de google.webapp. Por lo general, utilizo los uuids para las claves principales como la identificación del usuario, luego encripto la contraseña del usuario y recibo su correo electrónico para restablecer.

Si desea autorizar a los usuarios el acceso externo a los datos, puede consultar OAuth para acceder a la aplicación.

Si solo desea almacenar datos mediante una identificación y está más orientado al consumidor, tal vez solo use openid como y luego adjunte datos de perfil a ese identificador como los perfiles django ( http://code.google.com/p/openid-selector/ ).

django 1.0 acaba de salir hoy en GAE, pero creo que existen los mismos problemas, no hay sesiones, realmente tiene que crear sus propios datos de sesión de la tienda.


Busqué en Google un sistema de autenticación personalizado para el motor de aplicaciones por un tiempo. Finalmente me conformé con el funcionamiento del matraz en el motor de la aplicación. Utilicé esta plantilla para ejecutar el matraz en el motor de la aplicación https://github.com/kamalgill/flask-appengine-template/ y esta extensión de autenticación del matraz http://pypi.python.org/pypi/Flask-Auth/ que viene con plug and play para el soporte del motor de la aplicación Google. Creo que el matraz también tiene una muy buena biblioteca de OAuth, por lo que eventualmente agregar los inicios de Facebook y Twitter será fácil.


Eche un vistazo app-engine-patch de app-engine-patch para Django (su marco preferido lo asumo de su pregunta). Ofrece autenticación en gae.

Alternativamente, echa un vistazo a web2py . Es un marco basado en Python que funciona en GAE y bases de datos relacionales. Está incorporado en el objeto Auth para usuarios, grupos y permisos.

Sin embargo, no da acceso desenfrenado a BigTable, sino que ofrece un subconjunto de funcionalidad relacional (BigTable no admite Joins, por ejemplo, y web2py no admite [todavía] los modelos de BigTable).

El soporte para BigTable está siendo discutido por las comunidades de Web2py y Django.


Eche un vistazo a este proyecto en el que estoy trabajando con coto: https://github.com/coto/gae-boilerplate Incluye un sistema de autenticación personalizado con todas las funciones y mucho más.


El consumidor de OpenID (parte del excelente proyecto de fuente abierta "muestras de motor de aplicación") actualmente funciona (a pesar de las advertencias en su archivo README, que es antiguo) y le permitiría usar OpenID para los inicios de sesión de sus usuarios.

La auth de django también se puede usar, por ejemplo, mediante este proyecto (al menos la parte de los users , no necesariamente groups y permissions aunque pueden hacer que funcionen en cualquier momento).


Esta es una solución bastante lista y funciona bastante bien: http://code.scotchmedia.com/engineauth/docs/index.html

Tiene soporte integrado para Facebook, Google+, Twitter, LinkedIn, GitHub y OpenId (a través de Google App Engine).

solo tiene que redirigir al usuario a /auth/facebook o /auth/google y así sucesivamente (esta url es personalizable).

También implementa dos clases: User y UserProfile User , cada User es una cuenta única en su aplicación y puede relacionarse con uno o más UserProfiles usuario, que es una estrategia de inicio de sesión que el User único tiene que iniciar sesión en su aplicación (si no está claro, es porque mi inglés es muy malo, los http://code.scotchmedia.com/engineauth/docs/index.html explican mejor).

PD: La documentación no es muy completa, pero el código es bastante simple, breve y autoexplicativo. Además, hay una discusión here en la que el autor proporciona varias respuestas a las preguntas de los usuarios confusos y principiantes.


Otra opción es el módulo Beaker . El cifrado AES para las sesiones del lado del cliente es agradable.


Vi que esto aparece en Google, cada vez que buscas "Inicio de sesión personalizado en el motor de la aplicación", así que decidí dar una respuesta que me ha estado sirviendo. Aquí hay una aplicación de ejemplo https://github.com/fredrikbonander/Webapp2-Sample-Applications

Esto usa

  1. webapp2 (ya en GAE 1.6.2)
  2. Jinja2 (ya en GAE 1.6.2)

Webapp2 parece ser la mejor apuesta para GAE (construida sobre webapp, por lo tanto, a prueba de futuro), por lo que la autenticación mediante el uso de un framework soportado originalmente por GAE es una buena idea. Hay muchos otros marcos pero se debe hacer mucho pirateo en la parte del usuario para que funcionen. Para las personas que desean construir un sitio "Estable", dicho trabajo de pirateo es extremadamente indeseable.

También me doy cuenta de que el soporte SQL para GAE está ahí ahora y django será compatible de forma nativa. Todos sabemos que django ha incorporado un sistema de autenticación de usuario. Aunque, creo, especialmente en el mundo de la nube NoSQL es el futuro. Estoy seguro de que habrá un marco tan bueno como django en el futuro para NoSQL. Pero ese soy yo, tu requerimiento podría exigir algo más.