3

我第一次实现 Facebook 登录(用于网络),我对用户会话和处理注销的最佳实践有一些疑问。现在,我正在使用 JS SDK(仅在启用 js 的情况下用于登录流程)和 PHP SDK 的组合。

问题 1:我应该将 Facebook 访问令牌保存在 PHP 会话中还是使用 SDK 中内置的“cookies: true”功能。

问题 2:如果通过 Facebook 注册的用户在几天后返回网站,他们应该自动登录,还是必须单击通过 Facebook 登录按钮,然后才登录?

问题 3:如果 FB 登录用户退出我的网站,我应该将他们退出 Facebook 还是只退出我的网站?

问题 4:如果 FB 登录用户在我的网站(不同的选项卡)上注销 Facebook,我应该自动将他们从我的网站注销吗?

4

2 回答 2

0

1)您可以将访问令牌保存在数据库中(但要注意到期日期)或将其保存在会话中。Cookies 将是管理此问题的最简单方法并负责 (2)。

2) 根据您处理会话的方式和您使用的 SDK,使用将自动登录(例如FB.getLoginStatus(),检测应用程序是否已通过身份验证的 JavaScript 方法)。无论如何,对于新用户,您的应用程序上都应该有一个“使用 Facebook 登录”按钮。

3) 如果您使用 SDK 中的注销方法(例如 JavaScript SDK 中的 FB.logout()),用户将同时退出您的站点和 Facebook。这实际上取决于您要如何处理。如果您的网站通过删除会话/cookie,您可以将它们注销。

4) 每当在您的网站上执行操作时,您应该始终检查用户是否已登录。如果用户在您的网站上退出 Facebook,最终,您的网站应该选择它(使用FB.getLoginStatus())并要求他们再次登录。

于 2014-01-14T13:56:33.377 回答
0

3) Facebook 将决定用户是否应该同时退出 Facebook 或只退出您的网站/应用程序,至少在使用 JS SDK 时是这样。从他们的文档中,查看一些案例的链接:

“FB.logout() 方法将用户从您的网站注销,在某些情况下,还会注销 Facebook。” - Facebook 文档

于 2016-07-08T16:35:42.240 回答