我已经实现了Microsoft Identity框架,我正在通过依赖性注入使用Usermanager,因为这是一个多租户项目,我需要扩展UserManager类以传递所需的上下文,我在Google上进行了搜索,但找不到或更好地适应我的情况。
_userManagerRepository = new UserManagerRepository(new PortaleContext(tenantContext.Tenant))
_userMgr = new UserManager<ApplicationUser>(userStore,null,null,null,null,null,null,null,null);
但是,当我运行此方法时:
var passwordResetToken = await _userMgr.GeneratePasswordResetTokenAsync(user)
我有以下错误:
<div class="titleerror">NotSupportedException: No IUserTokenProvider named 'Default' is registered.</div>
<p class="location">Microsoft.AspNetCore.Identity.UserManager+<VerifyUserTokenAsync>d__122.MoveNext()</p>
这是我创业课的一部分:
services.AddIdentity<ApplicationUser, IdentityRole>(config =>
{
config.User.RequireUniqueEmail = true;
config.Password.RequiredLength = 8;
// config.Cookies.ApplicationCookie.LoginPath = "/App/Login";
config.SignIn.RequireConfirmedEmail = false;
config.SignIn.RequireConfirmedPhoneNumber = false;
})
.AddEntityFrameworkStores<AdminContext>()
.AddDefaultTokenProviders();
services.AddIdentity<ApplicationUser, IdentityRole>(config =>
{
config.User.RequireUniqueEmail = true;
config.Password.RequiredLength = 8;
config.Password.RequireNonAlphanumeric = false;
config.Password.RequireUppercase = false;
// config.Cookies.ApplicationCookie.LoginPath = "/App/Login";
config.SignIn.RequireConfirmedEmail = false;
config.SignIn.RequireConfirmedPhoneNumber = false;
})
.AddEntityFrameworkStores<PortaleContext>()
.AddDefaultTokenProviders();
,在简而
本文两次调用AddDefaultTokenProviders((两次调用AddDefaultTokenProviders((时引用错误。这可能是您的问题,我正在寻找类似的解决方案,但是这个解决方案对我不起作用,但也许您还没有看到它,并且对您有用。
https://github.com/aspnet/istentity/issues/972