验证特定应用程序的Facebook访问令牌

Eri*_*ari 14 authentication api facebook

我需要验证我的iPhone应用程序上的用户是否实际登录到我的Facebook应用程序.我可以通过访问令牌检索它来验证用户ID:

https://graph.facebook.com/me?fields=id&access_token=XXXXXXXXXXXXXXX

我预见的安全问题是,他们可以向我发送任何有效的访问令牌,它将返回他们的用户ID.我还需要验证此令牌是否适用于我的特定应用.有没有办法在此请求中返回应用程序ID以验证?

Rah*_*ora 21

Facebook现在支持调试访问令牌.您可以通过向debug_token连接发出GET请求来检索与特定访问令牌相关的信息.就像是:

GET /debug_token?
     input_token={input-token}&
     access_token={access-token}
Run Code Online (Sandbox Code Playgroud)

其中, 输入令牌:您想要获取有关信息和访问令牌的访问令牌:您的应用访问令牌或来自应用开发者的有效用户访问令牌

这将返回以下信息:

{
        "data": {
            "app_id": 000000000000000, 
            "application": "Social Cafe", 
            "expires_at": 1352419328, 
            "is_valid": true, 
            "issued_at": 1347235328, 
            "scopes": [
                "email", 
                "publish_actions"
            ], 
            "user_id": 1207059
        }
    }
Run Code Online (Sandbox Code Playgroud)

您可以在获取有关令牌和调试的参考信息获取有关它的更多信息.


cpi*_*lko 13

是.你可以查询这个:

https://graph.facebook.com/app?access_token=TOKEN
Run Code Online (Sandbox Code Playgroud)

它将返回有关创建访问令牌的应用程序的名称,ID和几个统计信息.