Docs Menu
Docs Home
/ /
Administrar usuarios

Administrar usuarios con correo electrónico y contraseña - SDK .NET

Si ha habilitado la Proveedor de correo electrónico/contraseña en su aplicación, puede registrar una nueva cuenta, confirmar una dirección de correo electrónico y restablecer la contraseña de un usuario en el código de cliente.

Para registrar un nuevo usuario, pase un correo electrónico y una contraseña proporcionados por el usuario al método RegisterUserAsync():

await app.EmailPasswordAuth.RegisterUserAsync(userEmail, "sekrit");

Para confirmar un usuario recién creado, pase una confirmación token y tokenId al método ConfirmUserAsync().

Nota

Utilice enlaces profundos en aplicaciones móviles

Las aplicaciones móviles pueden gestionar la confirmación por correo electrónico directamente en la aplicación configurando enlaces profundosen Android,enlaces universales en iOS y/o controladores URI para la Plataforma universal de Windows (UWP).

await app.EmailPasswordAuth.ConfirmUserAsync("<token>", "<token-id>");

Para reenviar un correo electrónico de confirmación, llame al método ResendConfirmationEmailAsync() con la dirección de correo electrónico del usuario.

await app.EmailPasswordAuth.ResendConfirmationEmailAsync("<userEmail>");

Para reenviar un correo electrónico de confirmación mediante una función personalizada, llame al método RetryCustomConfirmationAsync() con la dirección de correo electrónico del usuario.

await app.EmailPasswordAuth.RetryCustomConfirmationAsync("<userEmail>");

Para obtener más información, consulte Ejecutar una función de confirmación en la documentación de App Services.

Restablecer la contraseña de un usuario es un proceso de varios pasos.

  1. En tu aplicación cliente, proporcionas una interfaz de usuario para que el usuario restablezca su contraseña. Tu aplicación de App Services puede enviar un correo electrónico o ejecutar una función personalizada para confirmar la identidad del usuario.

  2. Después de confirmar la identidad del usuario, puede completar la solicitud de restablecimiento de contraseña.

  3. Una vez completado el restablecimiento de la contraseña, el usuario puede iniciar sesión con la nueva contraseña.

Seleccione su método preferido de restablecimiento de contraseña yendo a:

  1. Su aplicación Atlas App Services

  2. Authentication

  3. Authentication Providers

  4. Email/Password - y presione el botón EDIT

Para enviar correos electrónicos de restablecimiento de contraseña para confirmar la identidad del usuario, debe configurar su aplicación para enviar un correo electrónico de restablecimiento de contraseña.

Para comenzar el proceso de restablecimiento de contraseña, llama a SendPasswordResetEmailAsync() con el correo electrónico del usuario. Aplicación Services envía un correo electrónico al usuario que contiene una URL única. El usuario debe visitar esta URL dentro de los 30 minutos para confirmar el restablecimiento.

await app.EmailPasswordAuth.SendResetPasswordEmailAsync(userEmail);

Los correos electrónicos de restablecimiento de contraseña contienen una URL codificada con dos valores: token tokenIdy. Para completar el proceso de restablecimiento de contraseña, puede restablecer la contraseña del usuario en el cliente o mediante una función personalizada en el backend. Para usar el SDK y completar el restablecimiento de contraseña, pase estos valores a ResetPasswordAsync():

await app.EmailPasswordAuth.ResetPasswordAsync(
myNewPassword, "<token>", "<token-id>");

Si el usuario no visita la URL del correo electrónico de restablecimiento de contraseña en 30 minutos, los token y tokenId caducarán. Debe reiniciar el proceso de restablecimiento de contraseña.

Nota

Para acceder a los token tokenId valores y enviados en el correo electrónico de restablecimiento de contraseña, puede utilizar un enlace profundo de Android o un enlace universal de iOS.

Al configurar tu aplicación para que ejecute una función de restablecimiento de contraseña, defines la función que debe ejecutarse al llamar a CallResetPasswordFunctionAsync() desde el SDK. Esta función puede aceptar un nombre de usuario, una contraseña y cualquier número de argumentos adicionales. Puedes usar estos argumentos para especificar detalles como las respuestas a las preguntas de seguridad u otras pruebas que el usuario debe superar para restablecer la contraseña correctamente.

Quizás prefiera usar una función de restablecimiento de contraseña personalizada si desea definir sus propios flujos de restablecimiento de contraseña. Por ejemplo, podría enviar un correo electrónico de restablecimiento de contraseña personalizado desde un dominio específico. También podría usar un servicio distinto del correo electrónico para confirmar la identidad del usuario.

En App Services, define la función de restablecimiento de contraseña personalizada que se ejecuta al llamar a este método. Esta función puede devolver uno de tres estados posibles:

  • fail

  • pending

  • success

El SDK considera un estado fail como una excepción. El SDK CallResetPasswordFunctionAsync() no acepta valores de retorno, por lo que no devuelve un estado pending ni success al cliente.

La función de restablecimiento de contraseña de App Services puede devolver pending si desea que el usuario realice algún paso adicional para confirmar su identidad. Sin embargo, este valor de retorno no se pasa a CallResetPasswordFunctionAsync() del SDK, por lo que la aplicación cliente debe implementar su propia lógica para gestionar un pending estado.

await app.EmailPasswordAuth.CallResetPasswordFunctionAsync(
userEmail, myNewPassword);

Es posible que su función del lado del servidor envíe un correo electrónico mediante un proveedor de correo personalizado. También puede usar SMS u otro servicio para verificar la identidad del usuario.

Tienes acceso a token y tokenId en el contexto de la función de restablecimiento de contraseña de App Services. Si pasas esta información desde la función de restablecimiento de contraseña de App Services, puedes devolver estos valores a tu aplicación mediante enlaces profundos específicos de la plataforma o enlaces universales. Luego, tu aplicación cliente puede llamar a ResetPasswordAsync() para completar el proceso de restablecimiento de contraseña.

await app.EmailPasswordAuth.ResetPasswordAsync(
myNewPassword, "<token>", "<token-id>");

Nota

Para acceder a los token tokenId valores y enviados desde una función de restablecimiento de contraseña personalizada, puede utilizar un enlace profundo de Android o un enlace universal de iOS.

Si la función de restablecimiento de contraseña de App Services realiza una validación adicional dentro de la función, o si ya validó la identidad del usuario antes de intentar restablecer la contraseña, puede configurar la función de App Services para que success devuelva. Sin embargo, este valor de retorno no se pasa a CallResetPasswordFunctionAsync() del SDK, por lo que la aplicación cliente debe implementar su propia lógica para gestionar un success estado.

Llamar a la función en este ejemplo realiza todo el proceso de restablecimiento de contraseña.

await app.EmailPasswordAuth.CallResetPasswordFunctionAsync(
userEmail, myNewPassword,
"<security-question-1-answer>",
"<security-question-2-answer>");

Volver

Metadatos del usuario

En esta página