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?