我正在使用Cloud Endpoint开发Google App Engine应用。 我的应用使用OpenID来验证用户身份。 一旦用户登录,在同一会话中就会调用端点。 在端点代码中,我想访问当前登录用户的用户服务。 这适用于开发服务器,但在部署到Google之后,userService将null返回到getCurrentUser()调用。
我可以在云端点执行期间获取当前登录用户吗?
答案 0 :(得分:3)
您不能在Endpoint方法中使用UserService(至少不能通过/_ah/api
调用)。在端点中获取当前用户是通过方法签名中的注入完成的,例如:
public Score insert(Score score, User user)
User
对象将填充以下任一项:有效用户对象(如果发送到请求中的令牌有效)或null
(如果没有)。
我不确定你的本地测试是如何成功的,但我所描述的是预期的行为。