0

我成功地使用了对这个 URL 的 GET 请求

https://www.facebook.com/logout.php?access_token=ACCESS_TOKEN&confirm=1&next=MY_APP_URL

其中 MY_APP_URL 的格式为https://apps.facebook.com/MY_APP_NAME以强制用户退出 Facebook 并被重定向回我的应用程序。

但是,浏览器中的用户体验并不理想。首先,它看起来像是重定向到 MY_APP_URL,并且电子邮件/密码字段出现在右上角大约一秒钟。然后,重定向到 login.php 并出现完整的页面登录表单。

关于注销/登录,一切都正常运行,但是不同登录表单的 1-2 秒显示很烦人。

有没有办法简化这一点,以便只有一个重定向,直接到 login.php URL?

也许我应该使用 'oauth/authorize' URL 作为我的下一个而不是https://apps.facebook.com/MY_APP_NAME

4

1 回答 1

0

答案是将 logout.php 的下一个参数(上面最初显示为 MY_APP_URL)设置为与应用程序位于同一域的 URL。

此 URL 应将用户重定向到 OAuth 对话框(此处描述:https ://developers.facebook.com/docs/reference/dialogs/oauth/ )。对 OAuth 对话框的调用中的 redirect_uri 参数应该是如上所述的 MY_APP_URL。

这样,您不会在看到登录页面之前获得 1-2 秒的 Facebook chrome 显示。不幸的是,它在注销/登录过程中插入了另一个请求/响应周期。

(注意:如果用户在未登录时请求http://apps.facebook.com/MY_APP_NAME形式的 URL,Facebook 似乎应该自动将用户重定向到登录页面。不知道为什么 FB chrome 应该完全显示。)

于 2013-01-01T00:21:32.480 回答