Vérifiez le jeton d'accès Facebook pour une application spécifique
J'ai besoin de vérifier que les utilisateurs sur mon iPhone, les app sont effectivement connecté à mon Facebook app. Je suis en mesure de vérifier leur id utilisateur par la récupérer avec leur jeton d'Accès:
https://graph.facebook.com/me?fields=id&access_token=XXXXXXXXXXXXXXX
La question de la sécurité, je pense, c'est que, ils peuvent m'envoyer un jeton d'accès valide, et ce sera le retour de leur nom d'utilisateur. J'ai besoin aussi de valider ce jeton est pour mon application. Est-il un moyen de retourner l'ID de l'Application de la présente demande de valider?
source d'informationauteur Eric Di Bari
Vous devez vous connecter pour publier un commentaire.
Oui. Vous pouvez interroger ce:
Il sera de retour le nom, l'id et plusieurs statistiques sur l'application qui a créé le jeton d'accès.
Facebook prend maintenant en charge le débogage d'un Jeton d'Accès. Vous pouvez récupérer les informations liées à un Jeton d'Accès par l'émission d'une requête GET à la
debug_token
connexion. Quelque chose comme:Où,
d'entrée-jeton: le jeton d'accès que vous souhaitez obtenir de l'information sur et accès à jeton: votre application jeton d'accès ou un utilisateur valide jeton d'accès
un développeur de l'application
Et cela renvoie les informations suivantes:
Vous pouvez obtenir plus d'informations à ce sujet dans le Obtenir de l'Info sur les Jetons et le Débogage de référence.
Voici mon implémentation en Python 3, la mise en œuvre d'un seul Facebook Lot Demande.
Cela devrait vous obtenez la fois l'APPLICATION et les données de l'UTILISATEUR, qui est lié à l'utilisateur access_token, dans un appel.
Il y a probablement une plus pythonic façon de mettre en œuvre certaines de l'encodage des appels que j'ai écrit, mais je voulais juste montrer ce qu'est exactement a fonctionné pour moi.
Vous pouvez utiliser
appsecret_proof
sur vos appels de l'api.De la la documentation officielle:
Exemple:
En PHP:
Vous pouvez maintenant confiance que la réponse que vous avez obtenu peut être utilisé pour l'authentification.