Desidero convalidare manualmente un token di reimpostazione della password in ASP.NET Identity 2.0. Sto cercando di creare la mia versione di UserManager.ResetPasswordAsync(string userId, string token, string newPassword)
che prende e IdentityUser
invece di userId
come questo:Convalida manuale di un token di reimpostazione della password nell'identità ASP.NET
UserManager.ResetPasswordAsync(IdentityUser user, string token, string newPassword)
Non sono sicuro se sto facendo questo diritto, ma qui sto cercando di convalidare il codice che è stato inviato via email l'utente in un passaggio precedente. Non ho modificato il codice/token che invia l'email all'utente e genera il codice. Sto assumendo che questo sia il metodo corretto per chiamare, ma l'argomento purpose
non è corretto. (Ho provato passando "ASP.NET identità", ma niente da fare.)
if (await userManager.UserTokenProvider.ValidateAsync(purpose: "?", token: code, manager: userManager, user: user))
{
return IdentityResult.Success;
}
else
{
return new IdentityResult("Invalid code.");
}
Se qualcuno mi potrebbe riempire sui dettagli di come funziona fuori dalla scatola, o indicarlo al codice sorgente di Microsoft per UserManager.ResetPasswordAsync(IdentityUser user, string token, string newPassword)
che sarebbe più apprezzato!
I simboli di debug mi hanno ottenuto quello di cui avevo bisogno. Molte grazie! EDIT: Si è scoperto che "ResetPassword" è lo scopo corretto per questo scenario. –