Estoy construyendo una API y una APLICACIÓN Móvil en Xamarin. No quiero confirmar el número de teléfono como yo tendría que usar Twilio o SMS de los proveedores, en lugar de eso, quiero confirmar un correo electrónico. Al mismo tiempo, no quiero crear un correo electrónico token para ser enviado al usuario con un enlace para hacer clic, como la API no es MVC y no tienen ningún punto de vista.
En lugar de eso, quiero un código de 6 dígitos código será enviado por correo electrónico el usuario y, a continuación, voy a crear un extremo de la API donde el usuario podrá 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, aviso que me estoy pasando a los usuarios de correo electrónico en lugar de un número de teléfono. Este código es ahora envían por correo electrónico al usuario, y el usuario entra en la APLICACIÓN móvil. Entonces:
var confirmed = await _userManager.VerifyChangePhoneNumberTokenAsync(newUser, code, newUser.Email);
Esto confirma que el código es correcto. El booleano resultante de esto voy a utilizar para establecer manualmente EmailConfirmed
en la base de datos para true
Funciona. Es aceptable, aunque? ¿Hay alguna razón por qué yo no debería estar haciendo esto?