我这样配置了令牌提供者:
services.AddIdentity<AppUser, IdentityRole>(opts =>
{
opts.User.RequireUniqueEmail = true;
//opts.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyz";
opts.Password.RequiredLength = 6;
opts.Password.RequireNonAlphanumeric = false;
opts.Password.RequireLowercase = false;
opts.Password.RequireUppercase = false;
opts.Password.RequireDigit = false;
opts.ClaimsIdentity.UserIdClaimType = JwtRegisteredClaimNames.Sub; //commented
}).AddEntityFrameworkStores<IdentityContext>().AddDefaultTokenProviders()
.AddTokenProvider<DataProtectorTokenProvider<AppUser>>("purpose");
但是当我使用该方法时:
AppUser user = await userManager.FindByNameAsync(Model.Name);
string confirmationToken = await userManager.GenerateUserTokenAsync(user, "ConfirmEmail", "purpose"); //"ResetPassword"
在RegisterUser页面中,当执行到达此方法(GenerateUserTokenAsync)时,它将永远在那里停止并且不返回任何值。我使用的Identity配置是否有问题或这些代码中的其他问题?
我使用Blazor服务器端预览6 .Net Core 3预览。