我用这个 \a class="fb-button" href="https://www.facebook.com/dialog/oauth?client_id=184082381694xx8&redirect_uri=https://xxxxxxx.com&display=popup" \ 虽然它似乎改变了oauth 显示的方式不是作为弹出窗口打开,而是作为新选项卡打开。我怎样才能像这样https://www.airbnb.com/login那样做一个弹出式 facebook 登录?
问问题
10581 次
2 回答
3
您需要包含 Facebook JS SDK 才能使这些弹出窗口正常工作。开发人员文档中提供了有关如何包含 SDK的说明。
于 2012-04-16T18:11:03.450 回答
3
我遇到了同样的问题,我确实按照 avist 的建议包含了 javascript SDK。以下是我的经验/研究的结论:
- 我无法让 display=popup 工作,这并不奇怪,因为 facebook 文档中的许多东西似乎并没有真正起作用。
- Airbnb(在 Sergi 链接的示例中)实现了自己的弹出窗口。这里有一个很好的例子说明如何做到这一点http://thinkdiff.net/facebook/create-facebook-popup-authentication-window-using-php-and-javascript/。简而言之,您只需使用 javascript 在弹出窗口中打开链接,然后在用户接受权限时关闭窗口并确保父窗口被重定向。
我最终使用了 JavaScript API 中的 FB.signup,使用起来更加简单。唯一的缺点是你得到一个短期令牌(2 小时),而不是长期令牌(60 天)。但是你总是可以用短命换长命 - https://developers.facebook.com/roadmap/offline-access-removal/#extend_token
于 2012-08-02T02:57:29.530 回答