.net core identity 集成 github (二) 自定义邮箱验证Token
配置 token 的时候需要配置 DataProtectionTokenProviderOptions

1 //自定义配置 token 2 builder.Services.Configure<DataProtectionTokenProviderOptions>(options => 3 { 4 //token 过期时间 5 options.TokenLifespan = TimeSpan.FromMinutes(60); 6 });
那么自定义就是继承 DataProtectionTokenProviderOptions
1 public class CustomEmailConfirmationTokenProviderOptions: DataProtectionTokenProviderOptions { }
Service 配置
注意代码中
//自定义邮箱token生成提供程序
options.Tokens.EmailConfirmationTokenProvider = "CustomEmailConfirmation";
AddTokenProvider<CustomEmailConfirmationTokenProvider<ApplicationUser>>("CustomEmailConfirmation")
1 //自定义 邮件token options 2 builder.Services.Configure<CustomEmailConfirmationTokenProviderOptions>(options => 3 { 4 options.TokenLifespan = TimeSpan.FromSeconds(60); 5 });
1 /identity设置 2 builder.Services.Configure<IdentityOptions>(options => 3 { 4 //最多失误次数锁定 5 options.Lockout.MaxFailedAccessAttempts = 5; 6 //每次锁定15分钟 7 options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(15); 8 //登陆必须是邮件确认的 9 options.SignIn.RequireConfirmedEmail = true; 10 11 //自定义邮箱token生成提供程序 12 options.Tokens.EmailConfirmationTokenProvider = "CustomEmailConfirmation"; 13 14 //密码设置 15 options.Password.RequiredLength = 6; 16 options.Password.RequiredUniqueChars = 3; 17 options.Password.RequireNonAlphanumeric = false; 18 options.Password.RequireLowercase = false; 19 options.Password.RequireUppercase = false; 20 options.Password.RequireDigit = false; 21 22 }); 23 //identity注入 24 builder.Services.AddIdentity<ApplicationUser, IdentityRole>() 25 .AddErrorDescriber<CustomIdentityErrorDescriber>() 26 .AddEntityFrameworkStores<ShopAppContext>() 27 .AddDefaultTokenProviders() 28 .AddTokenProvider<CustomEmailConfirmationTokenProvider<ApplicationUser>>("CustomEmailConfirmation") 29 ;
浙公网安备 33010602011771号