Una instancia de la clase
User
representa a un usuario. Las instancias de usuarios son únicas y comparables. Si dos instancias son iguales, representan al mismo usuario.
La aplicación puede acceder a la instancia de Usuario para el usuario actual mediante una llamada a la función
users.get_current_user()
.
Puedes usar la función
users.get_current_user()
sin importar qué opción de autenticación use tu app.
Una instancia de usuario también se puede construir desde una dirección de correo electrónico:
user = users.User("Albert.Johnson@example.com")
O bien, si tienes una federated_identity
, puedes usarla para crear una instancia de usuario:
user = users.User(federated_identity="http://example.com/id/ajohnson")
Si se llama al constructor de usuarios con una dirección de correo electrónico que no corresponde a una Cuenta de Google válida, el objeto se creará, pero no corresponderá a una Cuenta de Google verdadera. Eso ocurrirá incluso si alguien crea una Cuentade Google con esa dirección de correo electrónico luego de que se haya almacenado el objeto. Un valor de usuario con una dirección de correo electrónico que no representa a una Cuenta de Google en el momento en que se crea nunca coincidirá con un valor de usuario que representa a un usuario verdadero.
Cuando se ejecutan en el servidor web de desarrollador, se supone que todos los objetos de usuario representan Cuentas de Google válidas cuando se almacenan en el almacén de datos (simulado).
El objeto de usuario para un usuario válido puede proporcionar un valor de ID único, el cual se mantiene igual, incluso si el usuario cambia su dirección de correo electrónico. El método
user_id()
devuelve es ID, que es un valor
str
.
El objeto de usuario tiene el mismo formato sin importar el método de autenticación que use tu app.
Usa valores de usuario con Datastore
Si el ID del usuario es estable, puedes usarlo en un nombre clave o como propiedad de una string. Por lo tanto, cuando uses valores de usuario, querrás almacenar el ID del usuario (y quizás la última dirección de correo electrónico vista para comunicarte con el usuario por correo). En el siguiente ejemplo, se muestra cómo comparar el usuario actual con el ID del usuario:
Te recomendamos no almacenar una UserProperty
, ya que incluye la dirección de correo electrónico y el ID único del usuario. Si un usuario cambia su dirección de correo electrónico y comparas el valor anterior de User
almacenado con el valor de User
nuevo, no coincidirán. En su lugar, considera usar el valor de ID de usuario User
como el identificador único estable del usuario.