ASP NET核心身份UserManager更改上下文



我已经实现了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 &#x27;Default&#x27; is registered.</div>
    <p class="location">Microsoft.AspNetCore.Identity.UserManager&#x2B;&lt;VerifyUserTokenAsync&gt;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

相关内容

  • 没有找到相关文章