Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 从Google云端点访问UserService_Google App Engine_Google Cloud Endpoints - Fatal编程技术网

Google app engine 从Google云端点访问UserService

Google app engine 从Google云端点访问UserService,google-app-engine,google-cloud-endpoints,Google App Engine,Google Cloud Endpoints,我正在开发一个带有云端点的Google应用程序引擎应用程序。 我的应用程序使用OpenID对用户进行身份验证。 一旦用户在同一会话中登录,就会调用端点。 在端点代码中,我希望访问当前登录用户的用户服务。 这在开发服务器上起作用,但在部署到Google之后,userService将getCurrentUser()调用返回null 我可以在云端点执行期间获取当前登录的用户吗?您不能在端点方法中使用UserService(至少不能通过/\u ah/api调用UserService)。通过方法签名中的注

我正在开发一个带有云端点的Google应用程序引擎应用程序。 我的应用程序使用OpenID对用户进行身份验证。 一旦用户在同一会话中登录,就会调用端点。 在端点代码中,我希望访问当前登录用户的用户服务。 这在开发服务器上起作用,但在部署到Google之后,userService将getCurrentUser()调用返回null


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

您不能在端点方法中使用UserService(至少不能通过
/\u ah/api
调用UserService)。通过方法签名中的注入获取端点中的当前用户,例如:

public Score insert(Score score, User user)
User
对象将填充以下内容之一:有效的用户对象(如果发送到请求中的令牌有效)或
null
(如果无效)


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

您不能在端点方法中使用UserService(至少不能通过
/\u ah/api
调用UserService)。通过方法签名中的注入获取端点中的当前用户,例如:

public Score insert(Score score, User user)
User
对象将填充以下内容之一:有效的用户对象(如果发送到请求中的令牌有效)或
null
(如果无效)


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

感谢您的快速响应。我按照你的建议修改了我的方法并重新部署了。我得到相同的空用户对象。我在本地开发服务器上再次测试,用户对象有效。
null
表示您的令牌无效。您使用哪个客户端库发出请求?我没有使用客户端库,只是使用用于在会话中进行身份验证的浏览器实例发出GET请求。这行不通,内置会话管理不用于端点。您需要使用OAuth进行身份验证。请参阅:@danholevet那么,你基本上是说,当构建一个主要通过web浏览器使用的应用程序时,端点是一个非常糟糕的选择,我不希望用户在每次令牌过期时都必须再次登录。谢谢你的快速回复。我按照你的建议修改了我的方法并重新部署了。我得到相同的空用户对象。我在本地开发服务器上再次测试,用户对象有效。
null
表示您的令牌无效。您使用哪个客户端库发出请求?我没有使用客户端库,只是使用用于在会话中进行身份验证的浏览器实例发出GET请求。这行不通,内置会话管理不用于端点。您需要使用OAuth进行身份验证。请看:@danholevet那么,你基本上是说,在构建一个主要通过web浏览器使用的应用程序时,端点是一个非常糟糕的选择,我不希望用户在每次令牌过期时都必须再次登录?