Я использую Java/Jersy Framework (Tomcat) для разработки REST API. Одной из таких функций веб-службы является перенаправление (HTTP 302) на подписанный URL S3 для файла. мы используем заголовок «Авторизация» для проверки действительности запроса. Когда эта веб-служба вызывается, служба генерирует подписанный URL с подписью и перенаправляет на подписанный Url.Как удалить заголовок авторизации в ответе http 302
кода Java с REST Web Service (Ури подписанную гиперссылка)
return Response.status(HttpStatus.SCMOVEDTEMPORARILY).location(uri).build();
Когда Перенаправление происходит заголовок Authorization также передается вместе с подписью. Поскольку Amazon принимает авторизацию или подпись в подписанном URL-адресе, но не оба они вызывают ошибку, как указано ниже, от Amazon S3.
Разрешен только один разрешенный механизм авторизации; только X-Amz-Algorithm параметр запроса, подпись запроса параметр строки или заголовок авторизации должен быть указан
Есть ли способ, чтобы удалить этот заголовок не отправить в то время как перенаправление происходит ...
Я попытался добавить фильтр и который переопределяет ServletResponse с помощью пользовательской реализации HttpServletResponseWrapper и записывает имена заголовков в методах addHeader и setHeader. Он никогда не вызывает этот метод для заголовка авторизации.
Модифицированный код, чтобы установить заголовок, как nulll или «» и не работает ..
return Response.status(HttpStatus.SCMOVEDTEMPORARILY).location(uri).header("Authorization",null).build();
return Response.status(HttpStatus.SCMOVEDTEMPORARILY).location(uri).header("Authorization","").build();
Вы нашли решение? Я столкнулся с той же проблемой :( – marcus3006