facebook - 验证特定应用程序的 Facebook 访问 token

标签 facebook api authentication

我需要验证我的 iPhone 应用程序上的用户是否确实登录了我的 Facebook 应用程序。我可以通过使用他们的访问 token 检索用户 ID 来验证他们的用户 ID:

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

我预见到的安全问题是,他们可以向我发送任何有效的访问 token ,它会返回他们的用户 ID。我还需要验证此 token 是否适用于我的特定应用程序。有没有办法返回此请求中的应用程序 ID 以对其进行验证?

最佳答案

Facebook 现在支持调试访问 token 。您可以通过向 debug_token 连接发出 GET 请求来检索与特定访问 token 相关的信息。像这样的东西:

GET /debug_token?
     input_token={input-token}&
     access_token={access-token}

在哪里, input-token:您想要获取有关信息的访问 token 和access-token:您的应用访问 token 或来自的有效用户访问 token 应用程序的开发者

这将返回以下信息:

{
        "data": {
            "app_id": 000000000000000, 
            "application": "Social Cafe", 
            "expires_at": 1352419328, 
            "is_valid": true, 
            "issued_at": 1347235328, 
            "scopes": [
                "email", 
                "publish_actions"
            ], 
            "user_id": 1207059
        }
    }

您可以在 Getting Info about Tokens and Debugging 中获得更多相关信息。引用。

关于facebook - 验证特定应用程序的 Facebook 访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14543882/

相关文章:

javascript - SVG 中嵌入的恶意 javascript - 它有什么作用?

iphone - Facebook iOs SDK - 在用户的墙上发布预填信息

iphone - Facebook 共享窗口问题

javascript - 最新版本的 Firefox 没有 svgElm.offsetHeight 属性

node.js - 限制对 admin-sdk 的 firestore 访问

python - 在 Python 中使用 Facebook API Graph 获取页面提要

php - 地名获取纬度和经度

javascript - 使用indexeddb jquery api将数据插入indexeddb时遇到问题

authentication - window.fbAsyncInit/FB.init 似乎没有运行

c# - 伊达 :Domain un-used setting?