IUserClaimsPrincipalFactory`1未在IndentityServer实现中注册错误

即使在注册 AddDefaultIdentity 后,我也遇到异常

System.InvalidOperationException: Service type: IUserClaimsPrincipalFactory`1 not registered.

这是身份注册码:

services.AddDefaultIdentity<ApplicationUser>(options =>
            {
                //Disable account confirmation.
                options.SignIn.RequireConfirmedAccount = false;
                options.SignIn.RequireConfirmedEmail = false;
                options.SignIn.RequireConfirmedPhoneNumber = false;
            })
            .AddEntityFrameworkStores<ApplicationDbContext>();
services.AddDefaultIdentity<ApplicationUser>(options =>
            {
                //Disable account confirmation.
                options.SignIn.RequireConfirmedAccount = false;
                options.SignIn.RequireConfirmedEmail = false;
                options.SignIn.RequireConfirmedPhoneNumber = false;
            })
            .AddEntityFrameworkStores<ApplicationDbContext>();

这是 IdentityServer 代码:

        var builder = services.AddIdentityServer()
            .AddInMemoryApiScopes(IdentityServerConfig.ApiScopes)
            .AddInMemoryIdentityResources(IdentityServerConfig.IdentityResources)
            .AddInMemoryApiResources(IdentityServerConfig.ApiResources)
            .AddInMemoryClients(IdentityServerConfig.Clients)
            .AddAspNetIdentity<IdentityUser>();

回答

我花了几个小时来解决这个错字。

问题是我的注册错误。

我正在使用,ApplicationUser但我正在IdentityUser身份服务器中注册。

我通过ApplicationUserAddIdentityServer()和 中设置 来解决我的问题AddDefaultIdentity()

这是工作代码:.Net Core Identity

身份服务器4:

var builder = services.AddIdentityServer()
                .AddInMemoryApiScopes(IdentityServerConfig.ApiScopes)
                .AddInMemoryIdentityResources(IdentityServerConfig.IdentityResources)
                .AddInMemoryApiResources(IdentityServerConfig.ApiResources)
                .AddInMemoryClients(IdentityServerConfig.Clients)
                .AddAspNetIdentity<ApplicationUser>();

注意使用ApplicationUser. 我在这里发布了问题,以便下次记住。


以上是IUserClaimsPrincipalFactory`1未在IndentityServer实现中注册错误的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>