2013-04-29 64 views
0

我正在开发带有云端点的Google App Engine应用程序。 我的应用程序使用OpenID来验证用户。 一旦用户登录,在同一个会话中,就有一个到终端的呼叫。 在端点代码中,我想访问当前登录用户的用户服务。 这适用于开发服务器,但在部署到Google之后,userService将返回null给getCurrentUser()调用。从Google Cloud端点访问UserService

我可以在云端点执行期间获取当前登录用户吗?

回答

3

您不能在Endpoint方法中使用UserService(至少没有一个通过/_ah/api调用)。入门在端点当前用户是通过注射进行的方法中的签名,例如:

public Score insert(Score score, User user) 

User对象将与填充之一:有效的用户对象(如果发送到请求令牌是有效的)或null (如果不)。

我不确定你的本地测试是如何成功的,但我所描述的是预期的行为。

+0

感谢您的快速回复。我按照您的建议和重新部署修改了我的方法。我得到相同的空用户对象。我在本地开发服务器上再次测试,用户对象是有效的。 – Kevin 2013-04-29 21:50:06

+0

'null'表示您的令牌无效。你用什么客户端库来提出请求? – 2013-04-29 22:04:35

+0

我没有使用客户端库,只是简单地使用用于验证进入会话的浏览器实例发出GET请求。 – Kevin 2013-04-29 22:17:35

相关问题