2011-02-24 14 views
15

Este es un tipo de re-publicación de mi pregunta en Yahoo! foros. Es solo que me refiero a StackOverflow con más frecuencia ...Yahoo! Pantalla de inicio de sesión de OAuth para dispositivos móviles

Mi problema es el siguiente: mientras Yahoo! OAuth http://developer.yahoo.com/oauth/ se describe como listo para usar con teléfonos móviles listos para usar, no aparece como tal.

He tratado de implementar aplicaciones de ejemplo y utilizar Yahoo! PHP SDK para conectarse con Yahoo! Usar el navegador web todo es agradable y fácil. Pero mientras visita Yahoo! request_auth page (http://developer.yahoo.com/oauth/guide/oauth-userauth.html) en mi teléfono móvil de prueba (Nokia 6300) se vuelve inaceptable: no puedo ver el cuadro de inicio de sesión, no puedo leer la información de por qué se requerirá mi nombre de usuario y todo. Acabo de ver un borde de página y algunos fragmentos de texto ("Yahoo", "Hel" (como en la ayuda ...) et al.).

¿Hay algún parámetro para forzar Yahoo! ¿mostrar la página optimizada del teléfono móvil? hago redirigir usuarios a esta dirección en la actualidad https://api.login.yahoo.com/oauth/v2/request_auth

Por cierto: si uso Opera Mini - que hace que la página muy bien, aunque ommiting información sobre mi sitio (que está solicitando log-in). Solo que no puedo obligar a todos los usuarios a usar Opera, o algo así.

Gracias de antemano por cualquier ayuda.

+0

¿Has descubierto esto? –

+1

@NickSiderakis - no, lo admitiré, que no. Después de migrar a una API nueva, algo cambió ligeramente, aunque todavía puedo reproducir este comportamiento y no hubo respuesta de Yahoo! personal, en lo que a mí respecta. –

Respuesta

1

Yahoo! sin duda tiene un algoritmo de detección de agente de usuario que determina qué constituye un navegador móvil. Claramente, Opera Mini desencadena el comportamiento correcto. Sospecho que el navegador nativo en el modelo de Nokia que está utilizando no está en la lista, o está emulando un usuario-agente del navegador de escritorio. Desafortunadamente, creo que tienes que convencer a Yahoo! para considerar su Nokia 6300 un dispositivo móvil.

+0

Creo que OperaMini puede convertir la página. Hubo algunos errores de representación usándolo, por lo que recuerdo. –

+0

He visto a Facebook hacer esto también. : '( – nmr

0

Quizás modificando el agente de usuario para hacer Yahoo! ¿crees que el navegador es Opera mini?

+0

¿Cómo puedo hacer que todos mis clientes hagan eso? Hay cientos de miles de ellos con miles de dispositivos diferentes ... Será un argumento de llamada _Yahoo! _, Creo ... –

4

He busca de una solución a esto todo el día y, finalmente tropezado con esto: http://pastebin.com/8tDnrfLc

poco importante reproducen a continuación:

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; 

Básicamente se dirigen al usuario a la página de autenticación móvil y dan es una url para ir cuando está hecho. Esa url debe ser la original https://api.login.yahoo.com/oauth/v2/request_auth?oauth_token= ... url.

¡Trabaja para mí!

+0

Esto es realmente el nueva versión de OAuth 2.0 que tiene una versión móvil para el inicio de sesión web. Sin embargo, OP está hablando del OAuth 1.0a que no parece tener una página web móvil. Desafortunadamente, OAuth 2.0 aún no es compatible con algunas API de Yahoo (por ejemplo, YQL) –

+0

Nvm, acabo de probar su técnica con OAuth 1.0a y está funcionando, ¡muy inteligente! Pulgares arriba. –

+0

Gracias, esto es de gran ayuda.Yahoo debería avergonzarse de que este truco sea incluso necesario. Todavía no es una gran experiencia para el usuario, porque la página de aprobación que viene después de iniciar sesión no está formateada adecuadamente para dispositivos móviles. –

Cuestiones relacionadas