AWS API GW HTTP API с mTLS не передает несколько файлов cookie в заголовках

#aws-api-gateway

#aws-api-gateway

Вопрос:

У меня есть вариант использования, когда я хочу выполнить аутентификацию mTLS в API GW, и после успешной аутентификации mTLS запускает Lambda для генерации 3 файлов cookie для CloudFront.

API GW поддерживает аутентификацию mTLS на уровне пользовательского домена.

Вот в чем проблема:

  1. Когда я перехожу к пользовательскому домену API GW, который направляется к моему API / Lambda и должен возвращать 3 заголовка Set-Cookie, браузер показывает следующее после авторизации mTLS:
 HTTP/2 302 Found
date: Fri, 04 Dec 2020 05:12:29 GMT
content-length: 0
set-cookie: CloudFront-Policy=1; Domain=; Path=/; HttpOnly
apigw-requestid: XXX
X-Firefox-Spdy: h2
 
  1. Теперь, если я перейду к конечной точке API напрямую (минуя пользовательский домен и MTLS), я вижу, что все файлы cookie установлены:
 HTTP/2 302 Found
date: Fri, 04 Dec 2020 05:11:49 GMT
content-length: 0
set-cookie: CloudFront-Policy=1; Domain=; Path=/; HttpOnly
set-cookie: CloudFront-Key-Pair-Id=2; Domain=; Path=/; HttpOnly
set-cookie: CloudFront-Signature=3; Domain=; Path=/; HttpOnly
apigw-requestid: YYY
X-Firefox-Spdy: h2
 

Я поиграл с лямбда-полезной нагрузкой 1.0 и 2.0, у обоих одинаковая проблема (в 1.0 я также попробовал взломать «set-cookie» в 3 разных случаях).

Кто-нибудь видел это раньше / знал об обходном пути? Кроме того, кто-нибудь пытался вернуть несколько заголовков set-cookie, используя mTLS domain REST API (моя проблема выше для HTTP API)?

Ответ №1:

Я еще не нашел обходного пути, но я вижу такое же поведение с REST API. При включенном mTLS он ограничен одним файлом cookie в ответе. Если я отключу mTLS, то все ожидаемые файлы cookie пройдут.