【问题标题】:Facebook OAuth redirect shows FB image/link instead of authorization pageFacebook OAuth 重定向显示 FB 图像/链接而不是授权页面
【发布时间】:2010-11-23 00:07:02
【问题描述】:

我有一个执行 Facebook 授权流程的 perl CGI 脚本,如 http://developers.facebook.com/docs/authentication/ 所述。当我在浏览器中访问我的 Facebook 应用程序页面时,我的脚本会从 Facebook 接收初始查询,对签名请求进行身份验证,然后将重定向发送到以下 url:

https://graph.facebook.com/oauth/authorize?client_id=NNN&scope=[...]&display=page&redirect_uri=http%3A%2F%2Fmydomain.com%3A8080%2Fperl%2Fdev%2Ffb.pl% 3F回调%3D1

redirect_uri 是我在应用程序配置中定义为我的网站的内容,它被接受得很好。但是浏览器随后显示的是一个大的 Facebook 徽标图像和它下面的链接,两者都转到:

http://www.facebook.com/connect/uiserver.php?display=page&next=https%3A%2F%2Fgraph.facebook.com%2Foauth%2Fauthorize_success%3Fredirect_uri%3D[...]

当我点击它时,我得到了我想要的,“请求权限”页面要求用户授权应用程序。一切从那里正常进行。

那么,为什么我会得到最初的 FB 徽标页面,而不是直接进入授权页面?

【问题讨论】:

  • 如何执行重定向到 Facebook 授权 URI?
  • 抱歉,没有看到您的评论。我只是做“打印 $query->redirect($url);”其中 $url 在上面,$query 是 CGI 查询。

标签: facebook facebook-graph-api


【解决方案1】:

有人在 Facebook 论坛 (http://forum.developers.facebook.net/viewtopic.php?pid=290957#p290957) 上回答了这个问题,讽刺的是这里引用了另一个问题。您只需要使用 javascript 进行客户端重定向,因此 CGI 脚本的输出应如下所示:

Content-Type: text/html
Content-Length: 344

<script>top.location="https://graph.facebook.com/oauth/authorize?client_id=[...]";</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多