Yahoo! Экран входа в OAuth для мобильных устройств
Это своего рода повторная публикация моего вопроса о Yahoo! форумы. Просто я чаще всего ссылаюсь на StackOverflow...
Моя проблема заключается в следующем: в то время как Yahoo! OAuth http://developer.yahoo.com/oauth/ описывается как готовый для использования с мобильными телефонами из коробки, он не отображается как таковой.
Я попытался внедрить пример приложения и использовать Yahoo! PHP SDK для подключения к Yahoo!
Использование веб-браузера - все хорошо и легко.
Но во время посещения Yahoo! request_auth (http://developer.yahoo.com/oauth/guide/oauth-userauth.html) на моем тестовом мобильном телефоне (Nokia 6300) делает неприемлемым: я не могу видеть окно входа в систему, не могу прочитать информация, почему мой логин потребуется и все. Я просто вижу границу страницы и некоторые фрагменты текста ( "Yahoo!", "Хел" (например, в справке...) и др.).
Есть ли какой-то параметр, чтобы заставить Yahoo! отображение страницы оптимизированного мобильного телефона?
Я перенаправляю пользователя на этот адрес на данный момент:
https://api.login.yahoo.com/oauth/v2/request_auth
BTW: если я использую Opera Mini, он отлично отображает страницу, хотя оммитирует информацию о моем сайте (который запрашивает вход в систему).
Просто я не могу заставить всех пользователей использовать Opera или что-то в этом роде.
Заранее благодарим за помощь.
Ответы
Ответ 1
Я искал решение этого дня и в конце концов наткнулся на это: http://pastebin.com/8tDnrfLc
Важный бит, воспроизведенный ниже:
var authPageURL = "https://api.login.yahoo.com/oauth/v2/request_auth?oauth_token=" + oauthToken;
var yahooMobileLoginUrl = "https://login.yahoo.com/m?&.src=oauth&.lang=en-us&.intl=us&.done=" + authPageURL;
В основном вы направляете пользователя на мобильную страницу auth и даете ему URL-адрес, чтобы перейти к нему, когда это будет сделано. Этот url должен быть оригинальным https://api.login.yahoo.com/oauth/v2/request_auth?oauth_token=... url.
Работает для меня!
Ответ 2
Yahoo! без сомнения, имеет алгоритм обмана пользователя, который определяет, что представляет собой мобильный браузер. Очевидно, Opera Mini запускает правильное поведение. Я подозреваю, что собственный браузер в модели Nokia, которую вы используете, отсутствует в списке, или он эмулирует пользовательский агент настольного браузера. К сожалению, я думаю, вам нужно убедить Yahoo! считать мобильное устройство Nokia 6300.
Ответ 3
Возможно изменение пользовательского агента для создания Yahoo! подумайте, что браузер Opera Mini?