【问题标题】:Authenticating Heroku gem from rake task从 rake 任务中验证 Heroku gem
【发布时间】:2015-05-31 17:47:00
【问题描述】:

我正在尝试让我的自动备份脚本工作。我正在使用heroku gem。该脚本正在 Heroku 的调度程序插件中运行。

require "heroku/command/pg"
require "heroku/command/pg_backups"

....
def initialize
  @client     = Heroku::Command::Pg.new([], app: ENV['APP_NAME'])
end

...
attachment = @client.send(:generate_resolver)
...

只要我调用attachment = @client.send(:generate_resolver),脚本就会停止执行并请求

Enter your Heroku credentials.
Email: 

有没有办法避免这种情况,因为任务是从 heroku 内部启动的,因此应该已经过身份验证。

非常感谢任何帮助

【问题讨论】:

    标签: ruby-on-rails heroku rake


    【解决方案1】:

    对于非交互式登录,您需要使用 API 密钥,即来自 HEROKU_API_KEY 环境变量的 Heroku will read。您可以使用 heroku auth:token 从登录的 CLI 中为您的帐户 fetch the key

    没有办法仅仅因为您已经在 Heroku 中运行而避免身份验证。这将产生重大的应用间安全影响。

    还可以查看pgbackups-archive。看起来它可以满足您的需求,或者至少可以为您提供一些有用的技术。

    【讨论】:

    • 我明白了,你知道令牌是否会随时间变化吗?
    • 令牌不会自行更改,但我相信如果您更改密码,它会更改。您也可以随时从您的account page 重新生成它。
    猜你喜欢
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 2012-09-16
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多