如何设置UserTokenProvider令牌过期

Mat*_*rts 7 c# asp.net asp.net-mvc asp.net-identity

我们正在开发一个新的ASP.NET MVC 4.1应用程序.我们正在连接ASP.NET身份的东西,我们正在努力使用令牌进行密码重置和新邀请.我似乎无法找到一种方法来设置生成的令牌的到期时间,并且默认情况下似乎设置为大约10分钟.我们使用a EmailTokenProvider作为用户令牌提供程序,因为它似乎与用户的安全戳一起使用.

我们如何设置令牌的到期时间 - 理想情况下,我们希望为邀请设置不同的重置密码令牌.

我们的用户管理器如下所示:

var manager = new UserManager<User, long>(new UserStore(new UserRepository()));
manager.UserValidator = new UserValidator<User, long>(manager) {AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true};
manager.UserTokenProvider = new EmailTokenProvider<User, long>();
Run Code Online (Sandbox Code Playgroud)

当用户请求重置密码链接时,我们会调用

var token = await _userManager.GeneratePasswordResetTokenAsync(user.Id); 获取令牌,并将其传递给用户.

当用户被邀请时,我们会致电:

var token = await _userManager.GenerateUserTokenAsync("FirstLogin", user.Id);

获取令牌,然后发送.

Hao*_*ung 2

2.0 中令牌提供程序的默认实现不允许您更改令牌过期时间,这是我们正在为 Identity 3.0 考虑的事情。