Я развертываю API на веб-сервере, это первый раз, когда API публично раскрывается в нашей компании, и я хочу убедиться, что правильно настроил политику безопасности.Наша сетевая служба безопасности материнских компаний захочет узнать, что мы приняли надлежащие меры против атак CSRF, когда пройдем через нашу внутреннюю доску проверок, чтобы перенести все в производство.
Наш API защищен с помощью IdentityServer4, наши клиенты отправляютЗаголовок авторизации с токеном Bearer в вызове API может быть получен из нескольких разных источников.Контроллеры API используют атрибут [AutoValidateAntiForgeryToken]
.Я хочу разрешить все заголовки, учетные данные, только запросы GET и только от наших конкретных источников.
Настроенная политика CORS выглядит следующим образом:
services.AddCors(config =>
{
config.AddPolicy("CorsPolicy", policy => policy
.WithOrigins("https://apps.company.com", "https://localhost", "https://intranet-domain")
.WithMethods("GET")
.AllowAnyHeader()
.AllowCredentials());
});
Это разрешит вебприложения, выполняющиеся в нашем домене интрасети, на всех портах локального хоста, и общедоступные приложения на нашем сервере для выполнения вызовов API?Кроме того, как мне обрабатывать нативные приложения, выполняющие вызовы API?Будет ли HttpClient
даже отправлять заголовок источника в этом случае, а если нет, то сервер отклонит запрос?
Спасибо