注销后UserService检索错误的用户

问题描述

| 我从UserService获取CurrentUser
 UserServiceFactory.getUserService().getCurrentUser().getEmail()
它在什么时候起作用。但是当我注销时,UserService仍然返回相同的电子邮件。     

解决方法

假设您使用GAE的常规方式登录,您的浏览器最终将带有两个会话Cookie-一个用于Google,一个用于应用程序。 如果您还以通常的方式注销(from1ѭ的注销URL),则两个cookie都将被删除。 但是,如果用户从您的应用浏览到其他Google服务,然后从那里注销Google,则不会删除您应用的Cookie(至少在Firefox中不是这样)。我不确定是否可以-一旦浏览器离开您的应用程序,很可能将不允许Google网站以任何方式触摸您应用程序的Cookie。 解决方法应该是在您的应用中提供注销链接,并让用户使用该链接注销。如果您已经这样做了,那么我不知道问题出在哪里...     ,那回答了一切。看来,尽管您可能已经退出了Google服务,但您的浏览器仍在维护Google服务的Cookie。这就是为什么它再次抛出相同的用户电子邮件。