Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Administrar usuarios

Manage Email/Password Users - .NET SDK

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

Use Deep Links in Mobile Apps

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>");

To resend a confirmation email using a custom function, call the RetryCustomConfirmationAsync() method with the user's email address.

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

For more information, refer to Run a Confirmation Function in the App Services documentation.

Resetting a user's password is a multi-step process.

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

  2. After confirming the user's identity, you can complete the password reset request.

  3. After the password reset is complete, the user can log in using the new password.

Select your preferred password reset method by going to:

  1. Tu aplicación de Atlas App Services

  2. Authentication

  3. Authentication Providers

  4. Email/Password - and press the EDIT button

Para enviar correos de restablecimiento de contraseña y así confirmar la identidad del usuario, se debe configurar la aplicación para enviar un correo 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>");

If the user does not visit the URL from the password reset email within 30 minutes, the token and tokenId expire. You must begin the password reset process again.

Nota

To access the token and tokenId values sent in the password reset email, you can use an Android deep link or iOS universal link.

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.

You might prefer to use a custom password reset function when you want to define your own password reset flows. For example, you might send a custom password reset email from a specific domain. You could also use a service other than email to confirm the user's identity.

On the App Services side, you define the custom password reset function that runs when you call this method. That function can return one of three possible statuses:

  • fail

  • pending

  • success

A fail status is treated as an Exception by the SDK. The SDK CallResetPasswordFunctionAsync() does not take return values, so it does not return a pending or success status to the client.

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

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

To access the token and tokenId values sent from a custom password reset function, you can use an Android deep link or iOS universal link.

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

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

User Metadata

En esta página