Token generation:
string code = await _userManager.GenerateEmailConfirmationTokenAsync(appUser);
code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
Email confirmation:
code = Encoding.UTF8.GetString(WebEncoders.Base64UrlDecode(code));
IdentityResult identityResult = await _userManager.ConfirmEmailAsync(appUser, code);
Infrastructure:
service.AddDataProtection().PersistKeysToStackExchangeRedis(redis, "SomeString");
builder.Services.AddIdentity<AppUser, IdentityRole>(o =>
{
// configure identity options
o.SignIn.RequireConfirmedAccount = true;
o.Password.RequireDigit = false;
o.Password.RequireLowercase = false;
o.Password.RequireUppercase = false;
o.Password.RequireNonAlphanumeric = false;
o.Password.RequiredLength = 6;
})
.AddEntityFrameworkStores<AppDbContext>()
.AddDefaultTokenProviders();//.AddDefaultUI();
I don't see the email confirmation code persisted to the Redis:
lrange SomeString 0 -1