Facebook SDK: Token serverseitig prüfen

Bei der Arbeit mit dem Facebook SDK (genauer bei der Implementierung einer Facebook-Login-Funktion innerhalb einer REST-Schnittstelle) muss das übermittelte Token, das der Client von Facebook erhalten hat, zunächst vom Server auf Gültigkeit geprüft werden, bevor weitere Operationen ausgeführt werden.


Dies gelingt am einfachsten mit dem undokumentierten API-Call

GET https://graph.facebook.com/me?access_token=TOKEN

wobei TOKEN das über 200 Zeichen lange, besagte Access Token ist. Als Response erhält man entweder als erfolgreiche Antwort

{
   "id": "XXXXXXXXXXXXXXXXX",
   "email": "david\u0040vielhuber.de",
   "first_name": "David",
   "gender": "male",
   "last_name": "Vielhuber",
   "link": "https://www.facebook.com/app_scoped_user_id/XXXXXXXXXXXXXXXXX/",
   "locale": "de_DE",
   "name": "David Vielhuber",
   "timezone": 2,
   "updated_time": "2014-02-09T18:47:26+0000",
   "verified": true
}

wobei hier die ID des Users zur abschließenden Prüfung verwendet werden sollte.

Anderenfalls bekommt man die unscheinbare Meldung, dass es sich um kein gültiges Token handelt:

{
   "error": {
      "message": "Invalid OAuth access token.",
      "type": "OAuthException",
      "code": 190
   }
}
Zurück