什么是GenerateEmailConfirmationToken()正在做什么?

时间:2015-01-07 11:04:26

标签: asp.net-identity-2

我有两个关于ASP.Identity 2.0和#34; GenerateEmailConfirmationToken / GenerateEmailConfirmationTokenAsync"的问题。方法

// Generate token
var token = Url.Encode(await UserManager.GenerateEmailConfirmationTokenAsync(user.Id));
  1. 此令牌是否存储在数据库中?我想它应该。但在哪个领域呢?我找到" PasswordHash"和" SecurityStamp"在用户表上。两者似乎都不匹配。
  2. 我的印象是,一旦我生成了电子邮件令牌,User表的EmailConfirmed字段就会设置为false。但它仍然是真的。那么,如果相应的用户帐户保持确认,创建令牌的目的是什么?或换句话说:为了生成新令牌我还需要做什么?还要将帐户设置为未确认?

1 个答案:

答案 0 :(得分:3)

总结评论中的讨论:令牌不存储在任何地方 - 它们是从SecruityStamp加密生成的(不完全确定生成的确切过程),当它们回来时,它们可以被解密和比较。 / p>

至于EmailConfirmed字段 - 这是供您维护和照顾的。对于没有确认电子邮件的用户,您手动需要拒绝登录。当电子邮件确认确实通过时,您需要设置标记。