Pregunta sobre facebook-graph-api – Encuentra el tiempo de expiración para un token de acceso

17

¿Hay alguna forma de utilizar la api de gráfico para saber cuándo caducará un token de acceso a la página o token de la aplicación?

Tu respuesta

6   la respuesta
27

Actualizar: Hay un nuevo punto final de API para acceder a la información sobre un token de acceso. Puedes encontrar información aquí:Depuración de tokens de acceso y manejo de errores

https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN

input_token: el token de acceso para depuraraccess_token: su token de acceso a la aplicación o un token de acceso de usuario válido de un desarrollador de la aplicación.

-

Debe intentar asegurarse de que almacena el tiempo de caducidad de cada token junto con el token de acceso cuando lo obtenga. Para un token de acceso a la página, eso significa almacenar el tiempo de caducidad del token de acceso del usuario. Si desea descubrir manualmente los tiempos de caducidad de los tokens que tiene hoy, debe usar FacebookAccess Token Debugger herramienta. Sin embargo, no debe confiar solo en los tiempos de caducidad; en la práctica, muchos tokens caducarán mucho antes que su tiempo de caducidad.

Los tokens de acceso a aplicaciones nunca caducarán, a menos que se reinicie la clave secreta de la aplicación.

Los tokens de acceso a la página duran hasta 60 días. (5184000 segundos), pero lo que es más importante, duran tanto como el token de acceso del usuario que se utilizó para adquirirlos. Asi queserán invalidados Tan pronto como el usuario de donde lo obtuviste:

cierra la sesión de FB.cambia la contraseña.desautoriza tu aplicación.

Básicamente, cuando pierdes el token del usuario, perderás el token de la página. En su lugar, debe recuperar tokens de acceso a la página una vez por token de acceso de usuario. Si tira un token de acceso de usuario, tire el token de la página.No debe intentar almacenar tokens de acceso a la página durante un período de tiempo significativo. En su lugar, debe obtenerlos según sea necesario y olvidarse de ellos cuando la sesión de un usuario fallece.

Para obtener un nuevo token de acceso a la página:

<code>https://graph.facebook.com/PAGEID?fields=access_token&access_token=USER_ACCESS_TOKEN
</code>
@Nix AndrewF es correcto, también tenga en cuenta laEliminación del permiso offline_access phwd
No todos los tokens de usuario duran 60 días (por ejemplo, los tokens JS SDK duran 2 horas). Como describí anteriormente, los tokens de acceso a la página están vinculados a los usuarios y se invalidan al mismo tiempo que los tokens de acceso de los usuarios se anulan. AndrewF
Los tokenshacer caduca de forma verificable cuando el usuario cierra la sesión. ¿Quieres pasos para verificar que este es el caso? AndrewF
Estoy hablando de cerrar sesión en nombre de su aplicación utilizando el punto final de cierre de sesión de la API. Por ejemplo, FB.logout () o $ facebook-> getLogoutUrl. Aquí hay una documentación que explica de qué estoy hablando:Manejo de tokens de acceso inválidos y vencidos, FB.logout AndrewF
0

https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension

Desde la página de arriba:

Los tokens de acceso en la web a menudo tienen una duración de aproximadamente dos horas, pero se actualizarán automáticamente cuando sea necesario. Si desea utilizar tokens de acceso para aplicaciones web de mayor duración, especialmente en el lado del servidor, debe generar un token de larga duración. Una ficha de larga duración generalmente dura unos 60 días.

1

funcionó conmigo. Obtenga el token con su aplicación y péguelo en el explorador de gráficos como el token que se usará para las consultas. Haga clic en la información y ver la fecha de caducidad.imagen de ejemplo

Espero que funcione para ti tambien.

Por favor agregue algo de contenido desde el enlace Robert
Lo siento pero no te atrapé. Qué quieres decir ? Héctor3315
7

https://developers.facebook.com/tools/debug/access_token

No usa Graph API ... pero es una herramienta muy útil para la depuración manual.

Quiero una forma programática de comprobar ... aka, yoquerer para utilizar el gráfico api. Nix
+ 1 no es una respuesta a la pregunta de OP, pero es una herramienta útil y es exactamente lo que estaba buscando. Kerry Jones
4

ya que he llegado a una situación en la que el documento de Facebook claramente no describe lo que está sucediendo:

sin fecha de caducidad al solicitar un nuevo token de larga duración confb_exchange_tokenno hay fechas de vencimiento cuando se solicita información de debug_token (expires_at = 0)responde con una fecha de vencimiento cuando redirige al usuario a la página de autenticación por primera vez, pero eso no ayuda, ya que no puedo extraer la fecha de vencimiento de larga duración ni responderá con esta información por segunda vez

La herramienta de depuración aquí:https://developers.facebook.com/tools/debug/accesstoken dice "Vence: Nunca".

Preguntas relacionadas