Всем привет.
Возник такой вопрос. Есть ли способ получить токен авторизации от Яндекса, находясь на странице сайта, сделанного в качестве Iframe приложения Яндекса?
Скажу сразу на самом сайте все способы получения токена работают идеально и без проблем. Речь пойдет именно о версии сайта, который встроен в Iframe Яндекса. Приложение одобрено, все галочки по типу "использует облачные сохранения" в консоли проставлены.
Итак, когда пытаешься авторизоваться через ссылку с GET запросом
https://oauth.yandex.ru/authorize?client_id=' . $client_id . '&redirect_uri=' . $redirect_uri . '&response_type=code
то сервер Яндекса возвращает ошибку:
"Сайт oauth.yandex.ru заблокирован.
Сайт oauth.yandex.ru не позволяет установить соединение.
ERR_BLOCKED_BY_RESPONSE"
Пробовать без перехода на страницу авторизации, а напрямую посылать GET запросы не выйдет, так как на странице пользователь должен дать свое подтверждение на обработку данных.
Попробовал через сайджест, который вызывается Java скриптом и по сути представляет собой Iframe элемент вверху экрана, где появляется табличка, что вы можете авторизоваться с помощью Yandex.
Но в Iframe она снова не работает, она просто не появляется на странице. Скрипт ее не вызывает или же не отображает. В общем этот элемент блокируется.
Перечитал всю документацию, все перерыл, но все сводится к тому, что нужно посещать страницу
https://oauth.yandex.ru/authorize
А там уже решать дальше какой метод получения токена использовать. Через код или напрямую Токен, или зашифрованный в JWT.
Ну может все же я что-то упустил и есть возможность получить авторизационные данные (а именно нужен только уникальный id пользователя в Яндекс).
Ведь приложение встроено в Iframe Яндекса и в панели приложения я по сути уже авторизован.
P.S. Поддержка Яндекса ничего не знает, у нас с ней уже на более чем 30 сообщений ветка в почте и по итогу меня отправили искать ответы у других разработчиков. Мол, поспрашивайте, может кто с таким сталкивался.