【问题标题】:OAuth2 password-less GAE upload using Google's Maven GAE plugin使用 Google 的 Maven GAE 插件进行 OAuth2 无密码 GAE 上传
【发布时间】:2013-05-31 08:13:17
【问题描述】:

我知道 Google 支持使用 appcfg.{sh,cmd] 上传无密码 GAE 应用程序,如下所述:https://developers.google.com/appengine/docs/java/tools/uploadinganapp#Passwordless_Login_with_OAuth2

但是,我想知道我是否可以使用Google's official Maven GAE plugin 来做同样的事情。有一个名为appengine:update 的目标,用于将本地 GAE 应用程序上传到云端。但是,我无法在任何地方找到关于这是否支持 OAuth2 的信息。有谁知道我如何将 OAuth2 和这个 Maven 插件结合起来?

原因是因为我使用 Jenkins 来构建我的项目,我更愿意在构建期间使用 Maven 目标自动上传我的应用程序,而不是运行脚本(比 Maven 目标更复杂)作为后期构建步骤。

【问题讨论】:

  • 作为部署时的一种解决方法,我使用帐户规范仅用于 appengine 上传。我发现有用的一种方法是为应用上传制定一个帐户规范,并将该帐户仅用于上传应用,而不是其他任何东西。

标签: google-app-engine maven oauth-2.0 maven-gae-plugin


【解决方案1】:

它似乎在最近版本的 GAE Maven 插件中得到了改进(不需要调用 appcfg)。调用就足够了:

mvn clean appengine:update

如果没有 ~/.appcfg_oauth2_tokens_java,它将弹出您的浏览器,并要求您提供 Google 帐户的凭据。成功认证后,您会看到 OAuth2 令牌。将其粘贴到您调用 mvn 的终端窗口中,然后就完成了。

【讨论】:

  • 是的,我最近注意到了这一点。他们添加了这个功能真是太好了。
  • 在我的情况下浏览器没有打开。我该怎么办?
  • 我已经快一年没接触 GAE 了。但是 IIRC,Maven 目标会打印出一个 URL,您应该自己将其粘贴到新的浏览器窗口中,Maven 会等待您输入从浏览器获取的代码。
  • @ecbrodie 我看到了这个信息cloud.google.com/appengine/docs/java/tools/…,从这个我了解到,如果浏览器没有打开 appcfg.sh 将显示一个 url 粘贴到浏览器中,如何访问这个请告诉我。我是应用引擎的新手。
【解决方案2】:

appengine:update 似乎自动支持 OAuth2。我只需要使用 appcfg.sh 运行手动构建。如果那个 shell 脚本在你的 PATH 上,那么命令看起来像这样:

appcfg.sh --oauth2 update myapp/war-directory

按照手动步骤部署我的应用并为我的用户下载 OAuth2 令牌后,我可以运行 mvn appengine:udpate。这将检测我的 OAuth2 令牌,不需要任何手动交互。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 2011-11-29
    • 2015-08-19
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    相关资源
    最近更新 更多