【发布时间】:2011-12-02 14:11:15
【问题描述】:
我当前的用户故事是 user1 登录到我的网站和 Facebook(这些帐户已连接等)。
User1 退出了我的网站,但没有退出 Facebook。
在此用户 2 登录到他的帐户后,用户 1 的剩余会话与用户 2 与我的网站的交互以及他们以谁的身份发帖。
所以为了解决这个问题,我检查了登录的用户是否真正拥有当前登录的 facebook(这将导致他们退出 facebook 等),并显示一个应该允许用户登录的链接出...
点击链接后,他们会转到 facebook 并返回该网站。但是如果你打开一个新标签并转到 facebook User1 仍然登录。
我怎样才能让这个链接正常工作.. 发生了什么事。这是api的错误还是什么?...
编辑:我已继续使用加载值用户 ID 和有效访问令牌进行测试,但我还没有让注销链接正常工作。
【问题讨论】:
-
> 此用户 2 登录到他的帐户后,但用户 1 的剩余会话与用户 2 与我的网站的交互以及他们发布的身份有关。 user2 是否在同一台计算机/浏览器上登录,或者“会话”是如何混淆的?您能否再详细说明一下,您所说的“会话”到底是什么意思?
-
是的,同一个浏览器。这是一个不太可能发生的情况,因为人们很可能在离开计算机时退出他们的 Facebook 帐户,但问题仍然需要解决。基本上,如果 facebook 以 Person 1 的身份登录,但在我的网站 Person 2 登录,而 Person 1 仍登录到 facebook,则 Person 2 在我的网站上采取的任何操作都会拉出 Person 1 的 facebook 信息。我可以检测是否当前登录的 facebook 帐户和当前在我的网站上登录的用户是相同的,但如果不是,我需要先从 facebook 注销 Person 1
-
.... 这样我就可以将人 2 重定向到 facebook 身份验证屏幕
-
我创建了一个简短的测试用例,根据 Facebook->getUser 是否给我一个用户 ID 显示登录或注销链接,并在 Firefox 12 中进行测试我得到了预期的行为:使用注销链接让我退出 Facebook - except 是因为重定向到我的网站后它仍然显示 logout 链接的小故障。在再次看到 login 链接之前,我必须刷新我的页面;我猜这是由于浏览器在重定向到我的页面之前识别 Facebook 设置的 cookie 存在问题(cookie 和重定向通常在浏览器中被证明有点困难)。
-
嗯,我们的场景似乎是一样的。如果登录 facebook 的用户(需要注销)没有连接到我的应用程序,您认为会有什么不同吗? (他们以前没有使用过,接受了权限或任何东西,他们是普通的 facebook 用户)
标签: php session facebook logout facebook-authentication