2015-01-07 34 views
5

Ho due domande relative ai metodi ASP.Identity 2.0 "GenerateEmailConfirmationToken/GenerateEmailConfirmationTokenAsync".Che cosa fa GenerateEmailConfirmationToken() esattamente?

// Generate token 
var token = Url.Encode(await UserManager.GenerateEmailConfirmationTokenAsync(user.Id)); 
  1. È questo token memorizzati nel database? Immagino che dovrebbe Ma in quale campo? Ho appena trovato "PasswordHash" e "SecurityStamp" sulla tabella utente. Entrambi non sembrano corrispondere.
  2. Ho avuto l'impressione che una volta generato un token di posta elettronica, il campo EmailConfirmed della tabella Utente sia impostato su falso. Ma rimane vero. Quindi, qual è lo scopo di creare un token se l'account utente corrispondente rimane confermato? O in altre parole: cosa devo fare per generare un nuovo token E inoltre impostare l'account su NON confermato?
+1

Vedere questa risposta: http://stackoverflow.com/a/27137659/809357 – trailmax

+0

E questo: http://stackoverflow.com/a/27677587/809357 – trailmax

+0

possibile duplicato del [Che sono un token di protezione e sicurezza timbro in ASP.NET Identity?] (http://stackoverflow.com/questions/27677345/what-are-a-security-token-and-security-stamp-in-asp-net-identity) – trailmax

risposta

2

di riassumere la discussione nei commenti: i token non vengono memorizzati da nessuna parte - sono cripto-generato (non esattamente sicuro circa esatto processo di generazione) da SecruityStamp e quando stanno tornando indietro, possono essere de-criptate e rispetto.

Come per il campo EmailConfirmed - questo è per voi da mantenere e accudire. Dovrai manualmente negare il login per gli utenti senza email confermata. E dovrai impostare la bandiera quando la conferma dell'e-mail arriva.

+0

Grazie, trailmax :) – Ingmar

Problemi correlati