【问题标题】:OAuth2 (NOT SDK) + Facebook - Not showing the permissions to userOAuth2(非 SDK)+ Facebook - 不向用户显示权限
【发布时间】:2016-03-26 04:28:19
【问题描述】:

我尝试了以下网址并且一切正常:

所有 3 个工作,前两个返回简单的令牌结果,最后一个返回带有令牌的 json 结果。我只是使用 webview 并让用户通过 webview 登录到 facebook。一切正常,我的应用可以访问请求范围内的所有数据。

问题

所需的范围(权限)不会显示给用户,用户只会看到一个登录窗口,如果他登录我的应用程序,我的应用程序将获得一个有效的令牌。而已。这样 facebook 不会批准我的应用程序。我认为,正确的登录流程应该由 facebook 处理,如果我调用 oauth 登录 url,facebook 应该正确重定向,并且只有在他们询问用户是否要允许所需的权限后才返回令牌。

那我做错了什么?为什么在 facebook 返回有效令牌之前没有向用户显示权限?

编辑:

要求:没有 SDK,因为我想为许多社交网络和云服务使用通用的 OAuth2 流,所以我不想为每个服务添加 sdk...

代码

我只是调用上面的 url 并遵循重定向,直到我通过访问令牌得到正确的答案,就是这样。

【问题讨论】:

  • link 检查此链接并发布您的代码
  • 链接显示了SDK的进度,我不想使用sdk,我会在我的应用程序中使用很多来源,所以我想使用一种通用的sdk独立方式......这就是为什么我想使用普通的 OAuth2 方法。此链接确实更符合我的需求:developers.facebook.com/docs/facebook-login/…。尽管如此,我还是无法让我的应用向用户显示权限信息...
  • 你解决了这个问题吗?到今天为止,我的网络应用程序也是如此。

标签: android facebook facebook-graph-api oauth


【解决方案1】:

RFC 6749 要求范围用空格分隔,但 Facebook 的实现要求范围用逗号分隔。这种违规可能是根本原因。

【讨论】:

  • 遗憾的是,这不是原因,我使用的是以下范围:user_photos,user_videos。如果我没记错的话,如果范围是空格分隔的,facebook api 将返回错误...
  • 在 RFC 6749 中,response_type 是必需参数。添加参数可能会改变响应。
  • 添加auth_type=rerequest怎么样? Facebook 文档说,除非您明确添加此参数,否则不会重新请求拒绝的权限。
  • facebook 没有抱怨额外的参数,但仍然没有显示确认对话框...
猜你喜欢
  • 2012-03-26
  • 1970-01-01
  • 2011-12-04
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
相关资源
最近更新 更多