Подпись Amazon S3 не совпадает, если в URL добавлены дополнительные параметры запроса "_ga" - PullRequest
0 голосов
/ 03 апреля 2019

Попытка загрузить файл, используя предварительно подписанный URL-адрес s3.У нас есть интеграция с Google Analytics, потому что все гиперссылки добавляются с одним дополнительным параметром запроса, "_ga".

сконструированный предварительно подписанный URL-адрес похож на https://someapprouter.herokuapp.com/ant/storage/1619958100/f8c40a75/file?response-content-disposition=attachment%3B%20fileName%3D%22PersonSampleFormat.csv%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190403T191315Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=ACKJOEK2Q%2F20190403%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=xxxx

Но когда мы пытаемся загрузить файл из браузера, добавляется дополнительный параметр запроса, который вызывает ошибку при загрузке.URL Finla имеет вид https://someapprouter.herokuapp.com/ant/storage/1619958100/f8c40a75/file?response-content-disposition=attachment%3B%20fileName%3D%22PersonSampleFormat.csv%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190403T191315Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=AKJOEK2Q%2F20190403%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=xxxx&_ga=yyyyy

Исключение:

Ошибка> SignatureDoesNotMatch Рассчитанная нами подпись запроса не соответствует предоставленной вами подписи.Проверьте свой ключ и метод подписи.

Как можно исключить параметры запроса _ga, когда s3 выполняет сопоставление подписи.

1 Ответ

1 голос
/ 05 апреля 2019

Это происходит из-за того, что для вашей реализации GA включен автолинкер. Чтобы удалить его, необходимо отключить автолинкер.

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

Если вы предоставите более подробную информацию о реализации GA или предоставите ссылку, я могу показать вам конкретный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...