Слияние заголовков ответов CORS для IE в Micronaut - PullRequest
1 голос
/ 13 мая 2019

Micronaut отправляет несколько заголовков следующим образом:

Access-Control-Allow-Headers:   content-type
Access-Control-Allow-Headers: authorization

Это смущает IE, он видит только первый заголовок. Это приводит к ошибке запроса типа «Авторизация заголовка запроса отсутствует в списке Access-Control-Allow-Headers».

Если заголовки объединены, IE это понимает:

Access-Control-Allow-Headers:   content-type, authorization

Я решил эту проблему, заменив компонент CorsFilter следующим образом (используя Kotlin):

@Replaces(CorsFilter::class)
class OurCorsFilter(corsConfiguration: HttpServerConfiguration.CorsConfiguration) : CorsFilter(corsConfiguration) {

    override fun setAllowHeaders(optionalAllowHeaders: List<*>, response: MutableHttpResponse<*>) {
        response.header(ACCESS_CONTROL_ALLOW_HEADERS, optionalAllowHeaders.joinToString())
    }

}

Однако мне это кажется излишним, и, кроме того, было бы лучше, если бы это вообще было исправлено. Разве нет другого пути, предпочтительно использовать config?

1 Ответ

1 голос
/ 13 мая 2019

Похоже, что это проблема даже на Edge https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12046299/. Пожалуйста, сообщите о проблеме, и мы, вероятно, сделаем опцию конфигурации, чтобы учесть это

...