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!», «Hel» (например, в справке ...) и др.).

Есть ли какой-то параметр, заставляющий Yahoo! отображение страницы, оптимизированной для мобильного телефона? В настоящий момент я перенаправляю пользователя на этот адрес: https://api.login.yahoo.com/oauth/v2/request_auth

Кстати: если я использую Opera Mini - она ​​хорошо отображает страницу, хотя и опускает информацию о моем сайте (который запрашивает вход в систему). Просто я не могу заставить всех пользователей использовать Opera или что-то в этом роде.

Заранее благодарю за любую помощь.


person Justas Butkus    schedule 24.02.2011    source источник
comment
Вы в этом разобрались?   -  person Nick Siderakis    schedule 07.01.2012
comment
@NickSiderakis - нет, я признаю, что не видел. После того, как я перешел на новый API, что-то немного изменилось, хотя я все еще могу воспроизвести это поведение, и от Yahoo! не последовало никакого ответа. персонал, насколько я понимаю.   -  person Justas Butkus    schedule 10.01.2012


Ответы (3)


Я весь день искал решение этой проблемы и в конце концов наткнулся на это: 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;

По сути, вы направляете пользователя на страницу мобильной аутентификации и даете ей URL-адрес, по которому можно перейти, когда это будет сделано. Этот URL-адрес должен быть исходным https://api.login.yahoo.com/oauth/v2/request_auth?oauth_token= ... url.

Работает на меня!

person Michael Coffey    schedule 29.07.2014
comment
Фактически это новая версия OAuth 2.0, которая имеет мобильную версию для входа в систему через Интернет. Однако OP говорит об OAuth 1.0a, у которого, похоже, нет веб-страницы для мобильных устройств. OAuth 2.0, к сожалению, пока несовместим с некоторыми API Yahoo (например, YQL). - person Michael Ho Chum; 05.08.2014
comment
Nvm, я только что протестировал вашу технику с OAuth 1.0a, и она работает, очень умно! Пальцы вверх. - person Michael Ho Chum; 05.08.2014
comment
Спасибо, это большая помощь. Yahoo должно быть стыдно, что этот взлом вообще необходим. Это по-прежнему не очень удобно, потому что страница утверждения, которая появляется после входа в систему, не отформатирована должным образом для мобильных устройств. - person Mason G. Zhwiti; 15.05.2015

Yahoo! несомненно, у него есть алгоритм сниффинга пользовательского агента, который определяет, что представляет собой мобильный браузер. Очевидно, что Opera Mini вызывает правильное поведение. Я подозреваю, что собственного браузера в используемой вами модели Nokia нет в списке, или он эмулирует пользовательский агент настольного браузера. К сожалению, я считаю, что вам нужно убедить Yahoo! считать свой Nokia 6300 мобильным устройством.

person hoserdude    schedule 16.04.2012
comment
Я думаю, что OperaMini может конвертировать саму страницу. Насколько я помню, при его использовании были ошибки при рендеринге. - person Justas Butkus; 20.04.2012
comment
Я видел, как Facebook делает то же самое. : '( - person nmr; 17.05.2013

Возможно изменение пользовательского агента, чтобы сделать Yahoo! думаете, что браузер Opera mini?

person PowerAktar    schedule 14.05.2012
comment
Как я мог заставить всех своих клиентов делать это? Их сотни тысяч с тысячами разных устройств ... Думаю, это будет аргумент вызова Yahoo! ... - person Justas Butkus; 22.05.2012