35 votos

Autenticación personalizada en google app engine (python)

¿Alguien sabe o sabe de algún lugar que puedo aprender cómo crear un proceso de autenticación personalizado utilizando python y google app motor?

No quiero utilizar las cuentas de google para la autenticación y quiero ser capaz de crear mis propios usuarios.

¿Si no es específicamente para el motor de google app, cualquier recurso sobre cómo implementar la autenticación utilizando python y django?

18voto

Ryan Christensen Puntos 4064

Bien django 1.0 fue actualizado el día de hoy en Google AppEngine. Pero usted puede hacer que el usuario de autenticación como cualquier otra cosa, usted no puede realmente usar las sesiones de porque es tan masiva.

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

http://gaeutilities.appspot.com/session

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

O,

Usted tendrá que crear su propio usuario y tablas hash o cifrar las contraseñas, entonces, probablemente, crear un símbolo del sistema que imita la sesión con sólo un símbolo de hash o uuid de cookies (las sesiones son solo cookies de todos modos).

He implementado algunos con apenas básica de google.webapp encabezados de petición y respuesta. Yo normalmente uso los uuid para las claves primarias como el id de usuario, luego cifrar la contraseña de usuario y tener su correo electrónico para restablece.

Si usted desea autorizar a los usuarios para el acceso externo a los datos que usted podría mirar OAuth para el acceso a la aplicación.

Si usted sólo desea almacenar los datos mediante un identificador y es más de cara al consumidor, tal vez sólo el uso de openid como stackoverflow y, a continuación, adjuntar los datos de perfil para que el identificador como django perfiles (http://code.google.com/p/openid-selector/).

django 1.0 acaba de salir hoy en GAE, pero creo que los mismos problemas que existen, no hay sesiones, usted tiene que crear su propio que almacenar los datos de sesión.

10voto

fiatjaf Puntos 954

Este es un bonito fuera-de-la-caja de solución, y funciona bastante bien: http://code.scotchmedia.com/engineauth/docs/index.html

Se ha incorporado en el soporte para Facebook, Google+, Twitter, LinkedIn, GitHub y OpenId (a través de Google App Engine).

sólo tienes que redirigir al usuario a /auth/facebook o /auth/google , y así sucesivamente (esta dirección es personalizable).

También implementa dos clases: User y UserProfilecada User es una cuenta única en su aplicación y pueden referirse a una o más UserProfiles - que uno es un inicio de sesión de la estrategia que la única User tiene que iniciar sesión en la aplicación (si es claro, es porque mi inglés es muy malo, el docs explicar mejor).

P. S.: La documentación no es muy completo, pero el código es bastante simple, corto y auto-explicativo. También, hay un debate aquí en el que el autor ofrece varias respuestas a las preguntas de confusión y principio de los usuarios.

8voto

Alex Martelli Puntos 330805

El OpenID consumidor (parte de la excelente "app engine muestras de" proyecto de código abierto), que actualmente funciona (a pesar de las advertencias en su README, que es viejo) y le permiten utilizar OpenID para los usuarios de inicio de sesión.

django es auth también es utilizable, por ejemplo, a través de este proyecto (al menos el users parte, no necesariamente groups y permissions a pesar de que podría conseguir trabajo en cualquier momento).

8voto

specialscope Puntos 1569

Vi que este aparece en google, cada vez que la búsqueda de "inicio de sesión Personalizado en app engine" para Me decidí a dar una respuesta que ha servido a mí. Aquí es el ejemplo de aplicación https://github.com/fredrikbonander/Webapp2-Sample-Applications

Este utiliza

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

Webapp2 parece ser la mejor apuesta para la GAE (construido en la parte superior de la webapp de ahí a prueba de futuro) para la autenticación utilizando el framework admite de forma nativa por GAE es una buena idea. Hay muchos otros marcos, pero una gran cantidad de piratería que se ha hecho en la parte de usuarios para hacerles el trabajo. Para las personas que quieren construir una "Estable" del sitio, tales hack de trabajo es extremadamente indeseable.

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

6voto

Brian M. Hunt Puntos 12506

Aquí es un excelente y relativamente reciente (enero de 2013) blog post titulado la autenticación del usuario con webapp2 en Google App Enginey afines GitHub repo: abahgat/webapp2-user-accounts .

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X