【问题标题】:Handling Facebook API Permission skip / revoked per OAuth 2.0 RFC根据 OAuth 2.0 RFC 处理 Facebook API 权限跳过/撤销
【发布时间】:2012-06-21 20:37:14
【问题描述】:

假设我的应用程序希望代表用户向第三方请求权限 A 和 B。

根据 OAuth 2.0 RFC,第三方无需授予这些权限。但是,如果返回的权限不等于我的应用程序请求的权限,则授予的范围将在第三方响应中返回。

当我模拟跳过/拒绝流程时,通过阅读 Facebook 文档并检查来自 Facebook 的响应,似乎未返回已授予的范围,并且我的应用程序需要进行后续 api 调用以查看授予了哪些权限.

这是正确的吗?

【问题讨论】:

    标签: facebook-graph-api oauth-2.0


    【解决方案1】:

    简短的回答:是的,你知道。

    更长的答案: 对 https://graph.facebook.com/me/permissions?access_token=OAUTH_ACCESS_TOKEN_HERE 进行 API 调用 - 在 PHP 或 JS SDK 中,您可以将其简化为 /me/permissions,因为 SDK 将为您包装服务器和访问令牌。

    这显示了该用户当前授予您的应用程序的所有范围,示例输出为:

    {
      "data": [
        {
          "installed": 1, 
          "manage_friendlists": 1, 
          "status_update": 1, 
          "photo_upload": 1, 
          "video_upload": 1, 
          "create_event": 1, 
          "create_note": 1, 
          "share_item": 1, 
          "publish_stream": 1, 
          "publish_actions": 1, 
          "user_about_me": 1, 
          "friends_activities": 1
        }
      ]
    }
    

    因为用户可以追溯删除以前授予的权限,所以无论如何您都需要不时执行此操作,因为即使您在特定权限请求中授予范围的回调,用户也可以撤销部分/全部几乎是紧随其后。

    【讨论】:

    • 谢谢...希望它符合 RFC,但我只是遗漏了一些东西 =)
    猜你喜欢
    • 1970-01-01
    • 2021-03-03
    • 2022-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 2016-02-02
    • 1970-01-01
    相关资源
    最近更新 更多