Asp net core 7 中,Identity系统中的EmailConfirmationToken现在被缩短成为6个字符,以便更方便地处理。为了使用6字符长度的EmailConfirmationToken,需要在Startup.cs的ConfigureServices方法中添加以下代码:
services.AddIdentity()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders()
.AddTokenProvider>("emailconfirmation");
services.Configure(o =>
o.TokenLifespan = TimeSpan.FromHours(3));
services.Configure(o =>
o.TokenLifespan = TimeSpan.FromDays(3));
在这个代码片段中,我们首先注册了Microsoft.AspNetCore.Identity包中的默认Token提供程序,然后添加了自定义的EmailConfirmation Token提供程序,给它起了一个名字叫“emailconfirmation”。配置了TokenLifespan选项,以设置EmailConfirmationToken的过期时间。
我们也可以添加其他类型的Token提供程序,如PasswordResetToken提供程序或TwoFactorToken提供程序等。
这样,Identity系统就可以使用6字符长度的EmailConfirmationToken进行多重身份验证了。