我从 UserService 获取 CurrentUser
UserServiceFactory.getUserService().getCurrentUser().getEmail()
什么时候起作用。但是当我注销时,UserService 仍然返回相同的电子邮件。
最佳答案
假设您通过 GAE 的常规方式登录,您的浏览器最终会收到两个 session Cookie - 一个用于 Google,一个用于应用程序。
如果您还通过常规方式注销(create_logout_url
中的注销 URL),则两个 Cookie 都会被删除。
但是,如果用户从您的应用程序浏览到其他 Google 服务并从那里注销 Google,那么您的应用程序的 cookie 不会被删除(至少,对于我在 Firefox 中而言)。我什至不确定是否可以 - 一旦浏览器离开您的应用程序,它很可能不允许 Google 网站以任何方式接触您应用程序的 cookie。
修复应该是在您的应用中提供注销链接,并让用户使用该链接注销。如果您已经这样做了,那么我不知道问题是什么......
关于java - UserService 注销后检索到错误的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6015517/