Sto costruendo un API e un APP Mobile in Xamarin. Non voglio confermare il numero di telefono come devo utilizzare Twilio o altri SMS provider, invece, voglio confermare una e-mail. Allo stesso tempo, non voglio creare una e-mail token per essere inviato all'utente con un link da cliccare, come API non è MVC e non hanno alcuna vista.
Invece, voglio un 6 cifre del codice per essere inviato via email all'utente e quindi vorrei creare un endpoint API da cui l'utente invia il codice tramite l'APP mobile, per confermare l'email. Per esempio:
var code = await _userManager.GenerateChangePhoneNumberTokenAsync(newUser, newUser.Email);
Questo crea il codice, notate che sto passando e-mail degli utenti, piuttosto che il numero di telefono. Questo codice è ora inviato per l'utente, e l'utente entra nell'APP mobile. Quindi:
var confirmed = await _userManager.VerifyChangePhoneNumberTokenAsync(newUser, code, newUser.Email);
Questo conferma che il codice è corretto. Boolean derivanti da questo io poi uso per impostare manualmente EmailConfirmed
nel DB true
Funziona. È accettabile anche se? C'è qualche ragione per cui non dovrei farlo?