当您使用 Facebook 登录到您的应用程序时,您的应用程序会请求 Facebook 对您进行身份验证。身份验证成功后,Facebook 会告诉您的应用程序您已通过身份验证。然后,您的应用程序会维护自己的会话。
您在 Facebook 帐户或应用程序中所做的事情可能不会相互反映更改。例如,当您注销 Facebook 帐户时,您的应用程序不会知道,因为就您的应用程序而言,您已经通过了身份验证。同时,当您注销 Facebook 时,Facebook 并没有告诉您的应用程序您已经注销。
应用程序和 Facebook(或其他 OAuth 提供者)维护自己的单独会话。
对于您的问题:
是的,您的网站会将访问者重定向到 Facebook 中的链接,该链接会自动告诉您的客户您已登录。您不再看到提示,因为您在第一次尝试使用 Facebook 帐户访问应用程序时已授予您的应用程序权限。
由于单独的会话,这将起作用。当您退出 Facebook 时,您仍会登录该应用程序。除非应用程序尝试通过 Facebook 再次验证您的身份 - 在这种情况下,身份验证将失败。
这是正确的,但是如果不登录 Facebook,您将无法登录您的应用程序,除非您有另一种方式在没有 Facebook 的情况下对您的应用程序进行身份验证(例如使用链接帐户的替代登录)。但是,在这种情况下,您仍然需要使用他们的登录表单登录 Facebook。您无法通过您的应用程序登录 Facebook。
那是对的。如果您退出 Facebook,您将退出 Facebook。由于单独的会话,您也需要注销您的应用程序。
也正确。
您的情况可能发生的是:
- 您退出了您的应用程序
- 你被重定向到你的主页
- 您的主页尝试对您进行身份验证,因为您未登录
- 您被重定向到 Facebook
- Facebook 确认您的身份并重定向到应用程序
- 应用程序再次对您进行身份验证
为了解决这个问题,您的主页不应自动验证。应该有一个用户必须单击的按钮 - 在您启动 Facebook 身份验证之前,类似于“使用 Facebook 登录”。
您也不能“强制注销”用户退出 Facebook。因此,在使用您的应用程序后,您的用户必须注销您的应用程序和 Facebook。如果您的应用程序使用会话 cookie,则在关闭浏览器时用户将被注销。