Docs Menu
Docs Home
/ /
Autenticar y administrar usuarios

Crear un usuario de la aplicación

Atlas App Services ofrece varios proveedores de autenticación para iniciar sesión en la aplicación. Para la mayoría de los proveedores, App Services crea automáticamente una cuenta de usuario la primera vez que un usuario se autentica a través del proveedor. La única excepción es Autenticación de usuario por correo electrónico/contraseña, que requiere registrar y confirmar un usuario antes de que éste pueda autenticarse.

Tip

Requisitos para eliminar una cuenta de Apple

Cuando inicia sesión por primera vez con un proveedor de autenticación, App Services crea un objeto de usuario que contiene un ID de identidad único y metadatos específicos del proveedor sobre el usuario.

Un mismo objeto de usuario puede tener más de una identidad. Puede usar los SDK de Realm para vincular identidades a cuentas de usuario existentes. Esto permite a los usuarios iniciar sesión en una sola cuenta con más de un proveedor. Para obtener más información, consulte la documentación sobre la vinculación de identidades de su SDK preferido:

Cuando uses la autenticación de usuario por correo electrónico/contraseña, primero debes registrar un usuario, lo que crea el objeto de usuario. Puedes registrar usuarios en tu aplicación cliente usando el SDK de tu elección o puedes crear manualmente usuarios por correo electrónico/contraseña.

Después de registrar al usuario, debe confirmarlo antes de que pueda autenticarse.

Cada SDK ofrece una API que permite registrar un usuario con correo electrónico y contraseña. Tras registrarlo, debe confirmarlo para que pueda autenticarse. Para ver ejemplos de código que muestran cómo administrar usuarios con correo electrónico y contraseña en la aplicación cliente, consulte la documentación de los SDK de Realm:

Puedes crear un nuevo usuario de correo electrónico y contraseña desde la interfaz de usuario de App Services, la CLI o la API de administración. Los usuarios creados manualmente omiten los flujos de confirmación de usuario configurados.

Tip

La creación manual de un usuario puede ser útil para probar y depurar su aplicación en desarrollo.

  1. Seleccionar App Users desde el menú de navegación de la izquierda.

  2. Haga clic en el botón Add New User.

  3. Especifique una dirección de correo electrónico y una contraseña para el nuevo usuario.

    Nota

    El proveedor de autenticación de correo electrónico/contraseña requiere que las contraseñas tengan entre 6 y 128 caracteres.

  4. Haga clic en Create.

Nota

También puedes crear claves API que las aplicaciones usen para conectarse a tu app. Aunque las claves API no están asociadas a un solo usuario, la pestaña Users las muestra. Para obtener más información sobre las claves API, consulta Autenticación de claves API.

Para crear un nuevo usuario de correo electrónico/contraseña, llame al appservices users create y especifique --type=email. La CLI le solicitará su ID de aplicación, así como el correo electrónico y la contraseña del nuevo usuario.

appservices users create --type=email

También puedes especificar los argumentos cuando llamas al programa:

appservices users create --type=email \
--app=<Your App ID> \
--email=<User's Email Address> \
--password=<User's Password>

Nota

El proveedor de autenticación de correo electrónico/contraseña requiere que las contraseñas tengan entre 6 y 128 caracteres.

Para crear un nuevo usuario de correo electrónico/contraseña, cree una solicitud POST con el siguiente formato. Debe especificar las credenciales del usuario en el cuerpo de la solicitud y el ID de grupo y de la aplicación en la URL de la solicitud.

curl --request POST \
--header 'Authorization: Bearer <access_token>' \
--data '{ "email": "<string>", "password": "<string>" }' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users

Nota

El proveedor de autenticación de correo electrónico/contraseña requiere que las contraseñas tengan entre 6 y 128 caracteres.

Debe confirmar la dirección de correo electrónico de los nuevos usuarios de correo electrónico/contraseña antes de que puedan iniciar sesión en App Services. El método exacto de confirmación depende de la configuración de su proveedor, pero normalmente implica un protocolo de enlace entre el usuario y su aplicación. Puede obtener más información sobre la confirmación de usuarios de correo electrónico/contraseña en Confirmación de correo electrónico/contraseña.

A veces, los usuarios no pueden completar el proceso de confirmación. Por ejemplo:

  • Un filtro de spam demasiado entusiasta podría bloquear los correos electrónicos de confirmación de App Services.

  • Un bloqueador web o proxy podría impedir que un usuario active la función SDK del cliente confirmUser a través de la aplicación cliente.

  • Un error de implementación podría provocar que la página de confirmación de usuario de la aplicación cliente falle en casos de uso específicos.

Para ayudarte a resolver casos como este, puedes confirmar usuarios manualmente usando la Interfaz de usuario Realm o la API de administrador:

Para confirmar un usuario con correo electrónico/contraseña pendiente en la interfaz de usuario:

  1. Seleccione App Users en el menú de navegación de la izquierda.

  2. En la pestaña Users, seleccione el botón PENDING.

  3. Busque el usuario en la lista y haga clic en los puntos suspensivos (...).

  4. Seleccione la opción Confirm User del menú contextual que aparece.

  5. Si la operación se realiza correctamente, el banner en la parte superior de la consola de administración de App Services debería mostrar un mensaje de confirmación. El User Status del usuario cambia de Pending Confirmation a Pending User Login.

Un usuario confirmado manualmente continúa apareciendo en la lista de usuarios PENDING hasta que inicia sesión en su aplicación por primera vez, momento en el cual App Services lo mueve a la lista de usuarios confirmados y cambia su User Status a confirmed.

Para confirmar un usuario con correo electrónico/contraseña pendiente mediante la API de administración, cree una solicitud POST con el siguiente formato. Debe especificar el ID del grupo, el ID de la aplicación y la dirección de correo electrónico.

curl --request POST \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>/confirm

Algunas circunstancias pueden provocar flujos de trabajo de confirmación de usuario de correo electrónico/contraseña incompletos:

  • Un correo electrónico es captado por un filtro de spam, no se entrega debido a un bug o es borrado por accidente por un usuario potencial de aplicación Services.

  • Una función de confirmación personalizada no puede comunicarse con un usuario no confirmado debido a un error o descuido.

  • Un usuario no confirmado olvidó visitar su enlace de confirmación dentro de los 30 minutos de recibir sus tokens de inicio de sesión, y los tokens expiraron.

Los usuarios atrapados en esta situación aparecen atascados en un estado no confirmado. Dado que una cuenta existente tiene su correo electrónico registrado, los usuarios no pueden crear una nueva cuenta con la misma dirección de correo electrónico. Además, no pueden iniciar sesión en una cuenta que no esté confirmada.

Las aplicaciones que utilizan el servicio de confirmación de correo electrónico integrado de App Services pueden usar el método resendConfirmationEmail Client SDK para enviar un nuevo correo electrónico con un nuevo enlace de confirmación al usuario, lo que le permite confirmar su cuenta e iniciar sesión. Llamar a este método generará un error si cualquier aplicación utiliza un flujo de confirmación distinto de send a confirmation email.

No existe un método específico para volver a ejecutar una función de confirmación personalizada. En su lugar, App Services cuenta con un método para activar la repetición del flujo de trabajo de confirmación de usuario de correo electrónico/contraseña actual. Puede volver a ejecutar manualmente el flujo de confirmación de usuario seleccionado mediante la interfaz de usuario de App Services o la API de administración de App Services:

Para volver a ejecutar el flujo de trabajo de confirmación para un usuario en la interfaz de usuario:

  1. Seleccione App Users en el menú de navegación de la izquierda.

  2. En la pestaña Users, seleccione el botón PENDING.

  3. Busque el usuario en la lista y haga clic en los puntos suspensivos (...).

  4. Seleccione la opción Run user confirmation del menú contextual que aparece.

  5. Seleccione el botón Run User Confirmation en el cuadro de diálogo que aparece.

  6. Si la operación se realiza correctamente, el banner en la parte superior de la consola de administración de App Services debería mostrar un mensaje de confirmación. El User Status del usuario cambia de Pending Confirmation a Pending User Login. Una vez que el usuario inicie sesión, pasará automáticamente a la lista de usuarios activos.

Si la repetición falla o los tokens del usuario caducan nuevamente, puede volver a ejecutar la función de confirmación tantas veces como sea necesario.

Para volver a ejecutar el flujo de confirmación para un usuario utilizando la API de administración, crea una solicitud POST en el siguiente formato. Debe especificar el ID de grupo, el ID de la aplicación y la dirección de correo electrónico.

curl --request POST \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>/run_confirm
  • Para todos los proveedores, excepto para la autenticación por correo electrónico y contraseña, App Services crea automáticamente un objeto de usuario la primera vez que un usuario se autentica.

  • Puedes iniciar sesión en una sola cuenta con más de un proveedor utilizando los SDK de Realm para vincular identidades.

  • El proveedor de autenticación de correo electrónico/contraseña requiere que los usuarios creen una cuenta la primera vez que se conectan a su aplicación.

  • Los usuarios con correo electrónico y contraseña deben confirmarse manualmente a través de la interfaz de usuario de App Services o la API de administración.

  • Los usuarios atrapados en un flujo de trabajo de confirmación de correo electrónico/contraseña incompleto deben volver a ejecutar la confirmación a través de la interfaz de usuario de App Services o la API de administración.

Volver

Autenticar y administrar usuarios

En esta página