使经过身份验证的请求适用于本地Devserver

时间:2014-04-18 13:54:32

标签: java google-app-engine maven

我使用Google使用Google的App Engine处理端点API。我的所有API请求都经过身份验证,需要User个对象。但是,当我使用mvn appengine:devserver启动devserver并访问http://localhost:8080/_ah/api/explorer时,我可以看到方法,但在上角切换OAuth 2.0不会做任何事情。我总是得到一个null用户对象。

当我通过mvn appengine:update上传添加内容时,它运行正常。每次我测试API方法时,是否必须上传我的测试版本?一旦你投入生产,开发几乎是不可能的吗?

我找不到关于如何在开发服务器上使OAuth正常工作的单一提示,那么它是否可能呢?

ADDENDUM :我尝试在http://localhost:8080/_ah/login登录,但尝试登录时重定向到http://localhost:8080/_ah/null,即404.我仍然没有效果用户。

2 个答案:

答案 0 :(得分:1)

我发现(偶然没有在任何地方记录)当您激活应用的remote_api时,您可以正确使用路由/_ah/login,然后允许您使用OAuth devserver。

当按照here所述激活远程API时,它可以用于Python和Java。

我想,去生产时只需删除它。我不知道这是否是一个安全问题。

答案 1 :(得分:0)

OAuth需要从Google到您的应用的回调网址。 由于开发服务器在本地运行,在您的路由器和防火墙以及所有内容之后,这将无法正常工作。

让我知道的唯一方法是登录已部署的应用程序,然后手动将访问令牌从数据存储区复制到开发存储区。

或者,您可以在已部署的应用程序上设置回调以记录所有参数,以便您可以在本地重播请求。