Sto provando a configurare l'identità per funzionare con il provider personalizzato. Finora tutto bene, ho creato UserStore
:identità asp.net - SetPasswordHashAsync
public class UserStore : IUserStore<User>, IUserPasswordStore<User>
(con tutti i metodi implementati) e UserManager:
public UserManager(IUserStore<User> userStore)
: base(userStore)
{ }
e l'utente è il mio un'entità personalizzata per tenere gli utenti.
Il problema è che in UserStore
ho le seguenti:
public async Task SetPasswordHashAsync(User user, string passwordHash)
Da quello che ho capito, questo è chiamato prima della creazione dell'utente, così tutto quello che dovrei fare qui è:
public Task SetPasswordHashAsync(User user, string passwordHash)
{
user.PasswordHash = passwordHash;
}
... ma questo deve restituire un'attività e non vedo nulla di asincrono da fare qui.
- Perché il tipo di reso è Attività per
SetPasswordHashAsync
e non solo annullato? - Come devo implementare
SetPasswordHashAsync
?
So che posso fare qualcosa di simile
public async Task SetPasswordHashAsync(User user, string passwordHash)
{
user.PasswordHash = passwordHash;
await Task.FromResult(0);
}
... ma non è questo sincrono? È strano vedere tutti gli altri metodi decorati con async
Task e utilizzare await
e questo per restituire Task.FromResult()
Chiunque?
Sono un po 'nello stesso posto. Dove hai imparato che dovevi semplicemente impostare l'hash nell'user localmente e non persisterlo? –