Как реализовать. Net Core Identity с пользовательским API - PullRequest
0 голосов
/ 15 января 2020

У меня момент головокружения (читай: «через неделю»). Я не могу понять, как реализовать. Net Core Identity для моего веб-проекта.

У меня есть проект WebApi (. Net Core 3.1) и веб-проект (страницы Razor). Проект WebApi предназначен для взаимодействия со всеми базами данных, веб-проект должен использоваться только для подключения к WebApi и отображения данных.

в веб-проекте, который я создал для идентификации и получил Register, Login, Logout страницы. Однако scaffolding создает новый DatabaseContext и таким образом подключается к базе данных.

Я хочу реализовать его для подключения к моему WebApi и вызова моей конечной точки UserController.

Может кто-нибудь указать мне правильное направление, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 16 января 2020

Это решение сработало для меня:

Я добавил новый UserStore. Создан новый класс: ApplicationUserStore и реализованы интерфейсы IUserStore, IUserPasswordStore, IUserEmailStore.

public class ApplicationUserStore : IUserStore<IdentityUser>, IUserPasswordStore<IdentityUser>, IUserEmailStore<IdentityUser>
{}

А в IdentityHostingStartup.cs я удалил контекст скаффолдинга:

services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddEntityFrameworkStores<ApplicationWebContext>();

И вместо этого добавил свой магазин об этом:

public class IdentityHostingStartup : IHostingStartup
{
    public void Configure(IWebHostBuilder builder)
    {

        builder.ConfigureServices((context, services) => {

            services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddUserStore<ApplicationUserStore>();

        });
    }
}
0 голосов
/ 15 января 2020

Ваш контекст базы данных должен наследоваться от следующих классов.

using Microsoft.AspNetCore.Identity.EntityFrameworkCore;    

public class MyContext : IdentityDbContext<ApplicationUser, ApplicationRole, int, ApplicationUserClaim, ApplicationUserRole, ApplicationUserLogin, ApplicationRoleClaim, ApplicationUserToken>
        {
            public MyContext (DbContextOptions<MyContext > options)
                : base(options)
            {

            }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...