Obtenga el ID de la aplicación del token de acceso de usuario (o verifique la aplicación de origen para un token)

Encontré estopregunt, que tiene una respuesta, pero Facebook cambió el formato del token desde entonces, ahora es algo así como:

AAACEdEose0cBACgUMGMCRi9qVbqO3u7mdATQzg[more funny letters]ig8b3uss9WrhGZBYjr20rnJu263BAZDZD

n resumen, no puedes inferir nada de él. También encontré elaccess token debugger, que muestra la información que busco si pega un token, lo cual es bueno, pero no me ayuda a hacerlo programáticamente.

Point es, si alguien obtiene un token para un usuario, puede usarlo para acceder al gráfico, que es lo que hago en mi aplicación: quiero asegurarme de que las personas reenvíen el token que mi aplicación les envió. y no otro.

Mi flujo de aplicación es:

Obtenga el token de acceso de Facebook (nada especial, en la forma en que se describe enaqu, Flujo del lado del servidor. (también iPhone y Android y usados, pero tienen flujos similares si recuerdo correctamente))
[dispositivo] <-> [facebook]Con ese token de acceso, el dispositivo accederá a mi servidor de aplicaciones con el token
[dispositivo] <-> [solicitud de Jonathan]
En mi servidor adjunto el token de acceso al usuario y lo uso para otorgar permisos a ese usuario en mi aplicación. (usando Facebook Connect para autenticar usuarios)


Mi aplicación está asegurada y el acceso realizado también se autentica independientemente de Facebook, ¡PERO! en este flujo, el vínculo débil que identifiqué es que no puedo autenticarme con seguridad de que el token de acceso que obtuve estaba firmado para mi aplicación; no me gusta porque guardo en caché los tokens para uso sin conexión, quiero estar 100% seguro son para mi aplicación, con mis permisos.

Entonces, ¿cuál será la (mejor) forma de autenticar que el token que obtuve está relacionado con mi aplicación (por relación con el usuario, uso el token para acceder / ver y para qué usuario es este token)

No necesito descifrar el token (supongo que es algún tipo de AES), solo estoy buscando un punto final que me diga que el token coincide con el ID de mi aplicación.

(EDITAR: Usando el SDK de C #, si es importante ... Pero una llamada gráfica / de descanso para dar esa información también es tan buena :))

Respuestas a la pregunta(4)

Su respuesta a la pregunta