Объедините 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")