注销后,UserService检索错误的用户

时间:2011-05-16 09:40:14

标签: java google-app-engine authentication

我从UserService获取CurrentUser

 UserServiceFactory.getUserService().getCurrentUser().getEmail()

它适用于何时。但是当我退出时,UserService仍会返回相同的电子邮件。

2 个答案:

答案 0 :(得分:2)

假设您通过常用的GAE方式登录,您的浏览器最终会有两个会话Cookie - 一个用于Google,另一个用于应用。

如果您也通过常规方式退出(create_logout_url的退出网址),则会删除这两个Cookie。

但是,如果用户从您的应用浏览其他Google服务并从那里退出Google,则不会删除您应用的Cookie(至少在Firefox中不适用于我)。我不确定它是否可以 - 一旦浏览器离开您的应用程序,很可能它不会允许Google网站以任何方式触摸您应用的Cookie。

修复以在您的应用中提供注销链接,并允许用户使用该注销进行注销。如果你已经这样做了,那么我不知道问题是什么......

答案 1 :(得分:1)

这回答了一切。看来虽然您可能已经退出了谷歌服务,但您的浏览器仍在为谷歌服务维护一个cookie。这就是为什么它再次抛出相同的用户电子邮件..