es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es aceptable utilizar GenerateChangePhoneNumberTokenAsync () para confirmar un correo electrónico en lugar de un número de teléfono?

Estoy construyendo una API y una aplicación móvil en Xamarin. No quiero confirmar el número de teléfono ya que tendría que usar Twilio u otros proveedores de SMS, en su lugar, quiero confirmar un correo electrónico. Al mismo tiempo, no quiero crear un token de correo electrónico que se envíe al usuario con un enlace para hacer clic, ya que la API no es MVC y no tendrá vistas.

En su lugar, quiero que se le envíe un código de 6 dígitos por correo electrónico al usuario y luego crearé un punto final en la API donde el usuario enviará ese código a través de la aplicación móvil para confirmar el correo electrónico. Por ejemplo:

var code = await _userManager.GenerateChangePhoneNumberTokenAsync(newUser, newUser.Email);

Esto crea el código, observe que estoy pasando el correo electrónico del usuario en lugar del número de teléfono. Este código ahora se envía por correo electrónico al usuario y el usuario lo ingresa en la aplicación móvil. Luego:

var confirmed = await _userManager.VerifyChangePhoneNumberTokenAsync(newUser, code, newUser.Email);

Esto confirma que el código es correcto. El booleano resultante de esto lo usaré manualmente para establecer “EmailConfirmed” en la base de datos en “true”.

Funciona. ¿Es aceptable, sin embargo? ¿Hay alguna razón por la que no debería hacer esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no tengo opinión sobre si tu enfoque es aceptable o no. Sin embargo, técnicamente hablando, no hay nada malo en confirmar un correo electrónico utilizando un código enviado al usuario en lugar de usar un SMS o un token con un enlace. Es un enfoque válido y puede implementarse de manera segura siempre y cuando el código se genere al azar y expire después de cierto tiempo para prevenir ataques de repetición. Una posible desventaja de este enfoque es que requiere que el usuario tenga acceso a su correo electrónico mientras usa la aplicación móvil, lo cual no siempre es posible. En última instancia, depende de ti decidir si este enfoque cumple con tus requisitos y se adapta a las necesidades de tu proyecto.

Comments are closed.