在身份选项设置RequireConfirmedEmail
会对用户签名的结果返回SignInResult.NotAllowed
,并在CanSignInAsync
进行测试
if (Options.SignIn.RequireConfirmedEmail && !(await UserManager.IsEmailConfirmedAsync(user)))
但这也适用于外部登录,这是我们只想在正常登录时使用的行为
我们已经知道我们可以扩展SignInManager<TUser>
但我们认为可能有人有更简单更优雅的解决方案,任何人?
答案 0 :(得分:3)
最简单的解决方案是在创建外部用户时设置EmailConfirmed = true
,就像在默认模板方法ExternalLoginConfirmation
中一样:
var user = new ApplicationUser { UserName = model.Email,
Email = model.Email,
EmailConfirmed = true };