Делаю для сайта OAuth авторизацию через соц.сети (стандартный набор).
Все работает отлично везде, кроме Opera (стоит последняя 12.14 сборка 1738 x64)!
1. Открываю форму авторизации соц.сети во всплывающем окне через window.open().
2. После ввода пароля и подтверждения разрешения для приложения, соц.сеть, как и полагается, посылает 302 редирект с указанием в Location адреса принимающего скрипта моего сайта, который будет получать от соц.сети код/токен (параметры, в общем).
3. Все браузеры успешно перекидывают меня на мой принимающий скрипт и передают параметры из соц.сети, кроме Opera!, которая в отладчике пишет адрес, на который должен переходить редирект, а в описании запроса пояснение: «Запросы не осуществлялись. Данные загружены из кэша без обращения к сети.»
Хочу обратить внимание, что адрес принимающего скрипта я при каждом обращении генерирую со случайным параметром, чтобы полностью исключить кэширование. Также и все соц.сети отправляют правильные HTTP-заголовки, предотвращающие кэширование — я проверял.
Как победить эту Оперу, чтобы нормально отрабатывала редирект без ковыряния в настройках?
Сталкивался c таким же поведением на localhost (использовал библиотеку HybridAuth), на сервере работает нормально. Похоже, проблема только на localhost.