Actualice el token de acceso de Yahoo Oauth con el complemento Grails-Oauth basado en la API de señalización de signos

StackOverflow https://stackoverflow.com/questions/7415279

Pregunta

Estoy usando Grails OAuth Plugin. Que me proporciona yahoo access_token exitosamente. Pero el problema es que este token (de Yahoo) tiene validez de 1 hora solamente. Y después de eso necesitamos refrescarlo. Y al pasar por su documentación, parece que tienen un proceso para actualizarla (en caso de que expire el token). Y esta llamada evita la pierna Thrid (proceso de aceptación manual del usuario). ¡eso es muy bueno!

Ahora, si estoy tratando de usar el método oauthService.fetchAccessToken - Supongo que este es el método que golpea get_access_token URL (al lado del proveedor). Pero estoy recibiendo excepción:

oauth.signpost.exception.oauthnotauthorizedException: la autorización falló (el servidor respondió con un 401). Esto puede suceder si la clave del consumidor no era correcta o las firmas no coincidían. at oauth.signpost.AbstractOAuthProvider.handleUnexpectedResponse(AbstractOAuthProvider.java:239) at oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:189) at oauth.signpost.AbstractOAuthProvider.retrieveAccessToken(AbstractOAuthProvider.java:99) at oauth.signpost. OAUTHProvider $ RECRIENTEACCESSTOKIN.CALL (fuente desconocida) en org.grails.plugins.oauth.oauthservice.fetchaccesstoken (oauthservice.groovy: 286) en org.grails.plugins.oauth.oauthservice $ fetchaccesstoken.call (fuente desconocida)


He depurado más en el código de complemento y señalización. Y creo que deberíamos investigar SignPost (por ahora), el complemento se puede modificar fácilmente más tarde.

Para su información, estoy usando SignPost (JAR - 1.2.1.1) con el cliente CommonSHTTP4

Aquí está el enlace de la página de documentación de Yahoo para actualizar el AccessToken.http://developer.yahoo.com/oauth/guide/oauth-refreshaccesstoken.html

Yahoo necesita oauth_session_handle Parámetro en la solicitud enviada por Yahoo con AccessToken. SignPost sí proporciona una forma de obtener esto - provider.getResponseParameters().

Ahora, lo siguiente es que estoy usando la siguiente forma de volver a colocar estos parámetros en la solicitud de RefreshToken - Consumer.SetadDitionalParameters (httparams)

¡Pero no funciona! El siguiente es la parte de Stacktrace. Cuando trato de obtener el RefreshedaccessToken

oauth.signpost.exception.oauthnotauthorizedException: la autorización falló (el servidor respondió con un 401). Esto puede suceder si la clave del consumidor no era correcta o las firmas no coincidían. en oauth.signpost.abstractoauthprovider.handleunespectedResponse (abstractoauthprovider.java:239) en oauth.signpost.abstractoauthprovider.retrieveToken (resumenauthprovider.Java:189) en oauth.signpost.abstracTeoAuthprovraveCeCeStekeSteking.

Esperamos escuchar pronto de algunos grandes/generosos :-)

Gracias Salil

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top