我使用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.我仍然没有效果用户。
答案 0 :(得分:1)
我发现(偶然没有在任何地方记录)当您激活应用的remote_api
时,您可以正确使用路由/_ah/login
,然后允许您使用OAuth devserver。
当按照here所述激活远程API时,它可以用于Python和Java。
我想,去生产时只需删除它。我不知道这是否是一个安全问题。
答案 1 :(得分:0)
OAuth需要从Google到您的应用的回调网址。 由于开发服务器在本地运行,在您的路由器和防火墙以及所有内容之后,这将无法正常工作。
让我知道的唯一方法是登录已部署的应用程序,然后手动将访问令牌从数据存储区复制到开发存储区。
或者,您可以在已部署的应用程序上设置回调以记录所有参数,以便您可以在本地重播请求。