practices - Twitter no recuerda la autorización
twitter cards types (1)
Hay dos URL de ofertas de twitter para las aplicaciones que solicitan un token de OAuth: /oauth/authenticate
y /oauth/authorize
. Cuando una aplicación dirige a los usuarios al punto final autorizado , Twitter solicitará al usuario que autorice la aplicación CADA vez que inicie sesión. El punto final de autenticación solicitará autorización una vez y luego cualquier inicio de sesión posterior en Twitter se transferirá sin problemas a la devolución de llamada de la aplicación. Esto es más tradicionalmente conocido como "iniciar sesión con su cuenta de Twitter".
En Scribe, el valor predeterminado es autorizar : para cambiar esto para autenticarse necesita 2 cosas:
- Asegúrese de que la opción Permitir que esta aplicación se use para iniciar sesión con Twitter esté marcada en la página de configuración de la aplicación de Twitter.
- En su aplicación: cuando especifica la clase API de Scribe que debe usar, en lugar de utilizar
org.scribe.builder.api.TwitterApi.class
cambie esto aorg.scribe.builder.api.TwitterApi.Authenticate.class
Ahora, su aplicación dirigirá a los usuarios a /oauth/authenticate
sesión en el punto final /oauth/authenticate
y, si han autorizado su aplicación al menos una vez, se pasarán.
Editar: Documentación adicional - https://dev.twitter.com/docs/api/1.1#102
Estoy usando Scribe (OAuth1.0) como mecanismo para que los usuarios puedan usar su cuenta de Twitter para autenticarse en mi aplicación GWT / GAE.
Según https://dev.twitter.com/docs/auth/implementing-sign-twitter , hay 3 escenarios posibles: a / El usuario está registrado y aprobado. En este caso, Twitter debe redireccionar al usuario de forma transparente a la URL de mi aplicación, b / el usuario ha iniciado sesión pero no ha autorizado, o c / el usuario no ha iniciado sesión.
Cuando Twitter vuelve a mi aplicación (la devolución de llamada), utilizo el parámetro verificador para leer los datos del usuario de Twitter, que utilizo para determinar el usuario en mi aplicación.
Todo esto funciona bien excepto por lo siguiente:
El escenario a / no funciona para mí. A pesar de que el usuario ya ha autorizado mi aplicación para leer sus datos de usuario, Twitter parece no recordar esto, y solicita de nuevo autorizar el acceso. (escenario b /).