如何以编程方式访问安全且经过身份验证的appengine应用程序

时间:2015-01-10 20:26:02

标签: google-app-engine curl oauth oauth-2.0 google-oauth

我们有几个需要登录的appengine应用程序,从浏览器访问时这些工作正常。但是,我们还希望从客户端应用程序而不是最终用户访问相同的应用程序。出于这个问题的目的,让我们说我们想要使用来自CLIENT机器的curl命令来访问我们的例子。 https://example.appspot.com/whatever个网址。当一切正常时,我们还打算迁移到自定义域。

理想情况下,我们将在客户端计算机上使用Curl命令完成登录和所有URL访问,而根本不需要用户干预(例如,来自cron作业)。我理解这是非常具有挑战性的,因为旧的ClientLogin功能使这很容易,现在已弃用。

在授权回调到客户端计算机上的本地网络服务器之后,我们已成功通过Curl使用授权令牌从客户端计算机直接访问Google API。我想类似的方法应该允许访问安全的appserver应用程序的URL。然而,我们还没有能够做到这一点,并且(在我看来)令人惊讶地找不到一个程序的单个工作示例,然后在任何地方使用appserver应用程序,除非使用已弃用的ClientLogin。

最后,我们要在客户端(Windows)计算机上安装绝对最少的软件。理想情况下只有curl.exe,python和标准库以及一些简单的python脚本。浏览器中的Javascript / XMLHTTP也可以。

端点似乎不是一个答案 - 他们不允许自定义域名 - 并且会强制重写。但是,如果仅用于自动化测试,则自动访问常规最终用户URL似乎是合理的要求。我们只是不知道该怎么做。

对于当前未弃用的App Engine环境的任何帮助/示例都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可能希望使用App Engine OAuth支持,该支持在处理程序本身内实现,而不是通过应用程序级身份验证配置:

https://cloud.google.com/appengine/docs/python/oauth/#oauth2