Obtenha o ID do aplicativo a partir do token de acesso do usuário (ou verifique o aplicativo de origem para um token)

Eu achei istoquestã, que tem uma resposta, mas o facebook mudou o formato do token desde então, agora é algo como:

AAACEdEose0cBACgUMGMCRi9qVbqO3u7mdATQzg[more funny letters]ig8b3uss9WrhGZBYjr20rnJu263BAZDZD

Em resumo, você não pode deduzir nada disso. Eu também encontrei oaccess token debugger, que mostra as informações que estou procurando se você colar um token, o que é bom, mas não me ajuda a fazê-lo programaticamente.

Point é que, se alguém obtiver um token para um usuário, ele poderá usá-lo para acessar o gráfico, o que faço no meu aplicativo - quero ter certeza de que as pessoas estejam encaminhando o token que foi emitido pelo aplicativo. e não outro.

fluxo do meu aplicativo é:

Obtenha o token de acesso do facebook (nada de especial, da maneira como é descrito emaqu, Fluxo do lado do servidor. (também iPhone e Android e usado, mas eles têm fluxos semelhantes, se bem me lembro))
[dispositivo] <-> [facebook]Com esse token de acesso, o dispositivo acessará meu servidor de aplicativos com o token
[dispositivo] <-> [aplicativo de Jonathan]
No meu servidor, conecto o token de acesso ao usuário e o uso para conceder permissões a esse usuário no meu aplicativo. (usando o facebook connect para autenticar usuários)


aplicativo @My está protegido e o acesso feito também é autenticado, independentemente do facebook, MAS! nesse fluxo, o link fraco que identifiquei é que não consigo me autenticar com certeza de que o token de acesso que recebi foi assinado para o meu aplicativo - não gosto disso porque faço cache dos tokens para uso offline, quero ter 100% de certeza eles são para o meu aplicativo, com minhas permissões.

Então, qual será a (melhor) maneira de autenticar que o token que eu recebi está relacionado ao meu aplicativo (por relação ao usuário, eu uso o token para me acessar e ver para qual usuário esse token é)

Não preciso descriptografar o token (acho que é algum tipo de AES); estou apenas procurando um ponto de extremidade que me diga que o token corresponde ao meu ID de aplicativo.

(EDIT: Usando o C # SDK, se for o caso. Mas uma chamada de gráfico / descanso para fornecer essas informações também é boa :))

questionAnswers(4)

yourAnswerToTheQuestion