www resulted expiration error client_id bad app accesstoken api oauth oauth-2.0 linkedin

api - resulted - ¿Se puede realizar el flujo de renovación de token de acceso de LinkedIn en el servidor?



linkedin login api (2)

En la API Graph de Facebook, una vez que hemos autenticado inicialmente al usuario, podemos interactuar directamente con la API (desde el servidor) para obtener un token de acceso a la página de larga duración. Este token de acceso a la página de larga duración nunca caduca. ( https://developers.facebook.com/docs/facebook-login/access-tokens/ )

Al leer la documentación de LinkedIn, parece que es imposible obtener un token de acceso con un token de acceso indefinido (que no expira). Parece que caducan cada 60 días. Sin embargo, estos tokens de acceso se pueden actualizar antes de que pasen los 60 días.

Lo que no está del todo claro en la documentación es si la renovación del token de acceso se puede realizar solo en el servidor sin la interacción del cliente. El lenguaje de la documentación sugiere que se requiere la interacción del cliente (navegador), pero no se menciona explícitamente nada.

Entonces, mi pregunta es, ¿es posible renovar un token de acceso de LinkedIn usando solo el servidor, sin la interacción del cliente (navegador)?

Material de referencia relevante de LinkedIn: https://developer.linkedin.com/documents/handling-errors-invalid-tokens


Tenía la misma pregunta y los documentos de LinkedIn y las publicaciones en el foro son confusas, pero estoy bastante seguro de que no es posible hacerlo programáticamente sin la intervención del usuario (es decir, el usuario debe iniciar sesión en su aplicación a través de LinkedIn auth para actualizar el token )


Como resultado, los tokens de acceso de linkedin no se pueden actualizar sin que el usuario de LinkedIn inicie sesión en linkedin. Consulte el primer comentario realizado aquí por el empleado de LinkedIn que indica claramente una nota que "this refresh will only work if the user is still logged into LinkedIn (authenticated) and the current access token isn''t expired. Otherwise, the user will be presented with the login dialog again."

Supongo que ahora es un problema importante para aquellos que anteriormente almacenaban los tokens de acceso de linkedin a la base de datos para su uso posterior.

Menciono algunos enlaces aquí que se refieren al problema con refrescantes tokens de oauth2 de linkedin (espero que esto quede claro para todos los que luchan con el mismo problema):

1) Esta actualización solo funcionará si el usuario aún está conectado a LinkedIn (autenticado) y el token de acceso actual no ha caducado. De lo contrario, se le volverá a presentar al usuario el cuadro de diálogo de inicio de sesión.

2) No hay forma de actualizar el token utilizando el antiguo token de autenticación / secreto. El usuario debe iniciar sesión en linkedin para poder actualizar los tokens. Usamos este flujo ya que protege a nuestros miembros y sus datos de la mejor manera posible.

3) Actualizar un token de acceso es muy simple y puede suceder sin que aparezca un cuadro de diálogo de autorización para el usuario. En otras palabras, es un proceso sin interrupciones que no afecta la experiencia del usuario de su aplicación. Simplemente haga que su aplicación siga el flujo de autorización para obtener un nuevo token de acceso con una vida útil adicional de 60 días. Cuando existen las siguientes condiciones: -Usuario aún está conectado a Linkedin.com -El token de acceso actual no ha expirado (dentro de los 60 años de vida) Redirigiremos automáticamente al usuario a su redirect_uri sin que sea necesario que reautorice su aplicación. Si no existen, les pediremos que inicien sesión y luego los redireccionarán.

4) También hemos estandarizado la duración de los tokens de autorización. Anteriormente, los miembros podían elegir otorgar tokens que eran tan cortos como un día o tan largos como para siempre. Ahora todos los tokens tienen 60 días de duración, con la posibilidad de ampliarlos en una serie de incrementos sucesivos de 60 días cada vez que el miembro regrese a su aplicación. Para evitar una mala experiencia de usuario en su aplicación, asegúrese de actualizar los tokens de forma proactiva y encaminar elegantemente los tokens caducados a través de un flujo de actualización.

5) Mientras el usuario inicie sesión en LinkedIn y su token de acceso actual no haya expirado, puede buscar un token de acceso con una vida útil de 60 días la próxima vez que el usuario acceda a su aplicación.