Объедините IdentityServer4 и MVC клиент

Я загрузил пример клиентского проекта IdentityServer и MVC с Github. Моя цель - создать среду портала, в которой пользователь может проходить аутентификацию и затем запрашивать защищенные ресурсы.

Поэтому я переместил Views из MVC-клиента в проект IdentityServer, изменил Client.cs для поддержки клиента на том же порту и добавил при запуске из IdentityServer следующее:

        var oidcOptions = new OpenIdConnectOptions
        {
            AuthenticationScheme = "oidc",
            SignInScheme = "Cookies",

            Authority = "http://localhost:5000",
            RequireHttpsMetadata = false,
            PostLogoutRedirectUri = "http://localhost:5000/",
            ClientId = "mvc",
            ClientSecret = "secret",
            ResponseType = "code id_token",
            GetClaimsFromUserInfoEndpoint = true,
            SaveTokens = true
        };

Мой вопрос: есть ли какие-либо причины, касающиеся безопасности, я не должен реализовывать это и держать его отдельно?

1 ответ

С точки зрения безопасности в этом нет ничего плохого.

Однако я должен предупредить вас, что вы можете столкнуться с проблемой при работе с файлами cookie и токенами. Запуск их в отдельных проектах неявно разделяет интересы проектов MVC и IDS.

то, что вы, возможно, захотите сделать, это разветвить ваш конвейер запросов с помощью app.Map(), (например, сопоставить IDS с "/identity" и проектом MVC с "/ui")

Другие вопросы по тегам