Я создал основной проект do tnet с помощью команды «do tnet new angular…». С возможностью аутентификации индивидуальной учетной записи. Ядро do tnet создало проект с контекстом данных приложения, подобным следующему.
public class ApplicationDbContext : ApiAuthorizationDbContext<ApplicationUser>
{
public ApplicationDbContext(
DbContextOptions<ApplicationDbContext> options,
IOptions<OperationalStoreOptions> operationalStoreOptions) : base(options, operationalStoreOptions)
{
}
} Я хотел бы интегрировать сервер идентификации 4 в тот же проект и обслуживать его в том же экземпляре контроллеры api. Я следовал приведенному ниже руководству, чтобы сохранить конфигурацию и оперативное хранилище в базе данных ef. http://docs.identityserver.io/en/latest/reference/ef.html
Я обнаружил, что DeviceCodes и таблица Persisted Grant уже находятся в базе данных. пока я пытался перенести базу данных в соответствии с требованиями Operational Store. Я изучил исходный код ef, что класс ApiAuthorizationDbContext уже включил эти таблицы для поддержки Identity Server.
Теперь я не совсем уверен, какое решение является лучшим (1) Должен ли я переключить ApplicationDbContext на расширить IdentityDbContext вместо ApiAuthorizationDbContext и полностью использовать способ, описанный в руководстве выше? (2) Или мне следует пропустить шаги, связанные с OperationalStore DbContext, и позволить серверу 4 идентификации использовать существующие таблицы, предоставленные ApiAuthorizationDbContext? И как их собрать? Какая лучшая практика? Заранее большое спасибо.