У меня есть сайт с поддержкой OAuth2, который испытывает проблемы, связанные с тем, как IE обрабатывает ответ 303. В потоке происходят 3 переадресации.IE игнорирует перенаправление 303 в POST -> перенаправление -> сценарий GET
### Chrome/Firefox
POST idp.com/login (res 302 -> idp.com/authenticate)
GET idp.com/authenticate (res 302 -> app.com/oauth2/callback)
GET app.com/oauth2/callback (res 303 -> app.com/home)
GET app.com/home
### IE
POST idp.com/login (res 302 -> idp.com/authenticate)
POST idp.com/authenticate (res 302 -> app.com/oauth2/callback)
POST app.com/oauth2/callback (res 303 -> app.com/home)
POST app.com/home
По-видимому, IE по-прежнему поддерживает оригинальный метод запроса. Я попытался хотя бы отрываться от исходного ответа POST на моем сервере (app.com), вернув 303, но это также не решило проблему. Это неожиданно, так как RFC 2068 утверждает, что для 303 - See Other
ответа, следующие должны быть выполнены
Ответ на запрос может быть найден под иной URI и ДОЛЖНО быть получен с помощью метода GET на этот ресурс. Этот метод существует прежде всего для того, чтобы позволить выходному сценарию, инициированному POST, , перенаправить агент пользователя на выбранный ресурс .
Я даже пробовал ответ 307 без каких-либо успехов. Кто-нибудь есть идеи о том, что здесь происходит?
видя аналогичное поведение при выполнении OAuth в LinkedIn - IE отправляет обратный вызов, а не GETing. –
Связанный вопрос - http://stackoverflow.com/questions/9912200/post-redirect-get-with-internet-explorer, но ответа еще нет –