【问题标题】:UserService loses loggedInUser?UserService 丢失loggedInUser?
【发布时间】:2012-07-17 11:26:31
【问题描述】:

我有一个客户端测试应用程序和一个服务器应用程序,它们都托管在 GAE 上。客户端是一个简单的 Web 前端,服务器托管受 Oauth 保护的资源。身份验证通过 OpenId 进行,应用程序支持联合登录。问题是用户登录后,userService似乎忘记了自己是谁(浏览器有一个ACSID cookie,所以它记住了)。

这是流程(来自 GAE 日志)...... 用户首先在浏览器中输入 cktestclient.appspot.com(客户端应用程序)并按下 ShowMyCommitments 按钮。然后在服务器端日志(commitkeeperapi.appspot.com)中看到以下内容。

上午 9:10:22:/oauth/authorize?response_type=code&client_id=webappclient&redirect_uri=http://cktestclient.appspot.com/client/showStartPage&scope=CommitKeeper_Access 我们还没有登录,所以我们会被重定向 上午 9 点 10 分 22 秒:/login/?continue=http://commitkeeperapi.appspot.com/oauth/authorize?response_type=code&client_id=webappclient&redirect_uri=http://cktestclient.appspot.com/client/showStartPage&scope=CommitKeeper_Access 然后我使用 createLoginURL 生成的 url 登录

上午 9:10:33:/oauth/authorize?response_type=code&client_id=webappclient&redirect_uri=http://cktestclient.appspot.com/client/showStartPage&scope=CommitKeeper_Access OAuth 舞蹈继续,我们看到我们有一个登录用户 com.fourspires.api.server.MyGaeAuthenticator 身份验证:当前用户(来自 userService)是:richardlandis@gmail.com

上午 9:10:34:/oauth/access_token 更多 Oauth Dancing... 获取 oAuthToken,在 cktestclient.appspot.com:/client/showStartPage 返回客户端 - 它继续在 commitkeeperapi.appspot.com:/v3/commitments 上进行调用

上午 9:10:34:/oauth/validate 跳舞...验证与承诺请求一起发送的 oAuthToken

上午 9:10:36:/v3/commitments/?oauth_token=9491caca6c9ad2b2cb2d20a5cf2773ce22b99e076ff0dcb3a47d06e6a26038d5ccf63c66f1f2387e 现在我们回到服务器代码并检查用户 - 它是空的!
com.fourspires.api.util.UserHelpers getCurrentUser: UserServiceFactory.getUserService().getCurrentUser() = null

根据我在此问题上可以查看的所有线程,我在服务器的 appengine-web.xml 中添加了 true - 但没有任何改变。

有谁知道为什么 UserService 丢失了我的用户的踪迹?我有解决此问题的方法,但我有兴趣了解更多有关此问题失败的原因。

PS - 这似乎与GWT and AppEngine User Service 非常相似,但似乎尚未解决。

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    我相信答案是因为我发出的两个请求是由不同的 ApiProxy 处理的,它们有不同的环境,因此对当前用户是谁的理解不同。我不确定为什么我会得到两个不同的 ApiProxy,但我可以对此进行进一步调查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 2023-03-31
      • 2018-12-03
      相关资源
      最近更新 更多