#aws-api-gateway
#aws-api-gateway
Вопрос:
У меня есть вариант использования, когда я хочу выполнить аутентификацию mTLS в API GW, и после успешной аутентификации mTLS запускает Lambda для генерации 3 файлов cookie для CloudFront.
API GW поддерживает аутентификацию mTLS на уровне пользовательского домена.
Вот в чем проблема:
- Когда я перехожу к пользовательскому домену 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
- Теперь, если я перейду к конечной точке 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 пройдут.