我们今天登上了 Product Hunt! 留下评论

添加到 Chrome

在浏览器中使用 Heroku 身份验证器

Heroku 要求开启多重身份验证,任何标准身份验证器应用都能满足要求——包括浏览器中的。在 Dashboard 中打开 Account Settings(账户设置)→ Setup Multi-Factor Authentication(设置多重身份验证)→ Add One Time Password Generator(添加一次性密码生成器),再用 Authenticator 扩展扫描屏幕上的二维码。

Heroku 账户可以部署代码,保存着满是 API 密钥和数据库凭据的配置变量(config vars),还会产生账单——这正是攻击者要找的东西。所以 Salesforce 要求每位 Heroku 用户开启多重身份验证。Salesforce Authenticator 是满足要求的一种方式;任何身份验证器应用生成的基于时间的验证码是另一种,而且不需要手机信号。

为 Heroku 添加身份验证器应用

新的 Heroku 账户在创建时就会被要求开启多重身份验证——届时设置流程会自动打开,你在那里选择一次性密码生成器即可。如果你的团队通过单点登录登录 Heroku,多重身份验证要在那个身份提供商处设置,这些步骤不适用。

  1. 在电脑上登录 Heroku Dashboard。
  2. 打开「Account Settings」(账户设置)。
  3. 选择「Setup Multi-Factor Authentication」(设置多重身份验证)——如果已经开启了某种验证方式,则选择「Manage Multi-Factor Authentication」(管理多重身份验证)。
  4. 点击「Add One Time Password Generator」(添加一次性密码生成器)。
  5. Heroku 会显示一个二维码。让它留在屏幕上,按下文所述添加到扩展中——然后输入扩展中的验证码,点击「Connect」(连接)。
Heroku 官方说明

将 Heroku 添加到 Authenticator

  1. 从 Chrome Web Store 安装身份验证器 2FA,并把它固定到工具栏,这样点一下图标就能打开。
  2. 保持 Heroku 显示二维码的页面不要关闭。点击 Authenticator 图标,然后依次选择「添加账户」→「二维码」→「从屏幕扫描QR码」。
  3. 账户会出现在列表中,并显示一个每 30 秒变化一次的六位数验证码。你可以随意重命名——名称只给你自己看。
  4. 回到 Heroku,把当前验证码填入确认框。如果它快要过期,就等下一个。
  5. Heroku 会提示双重验证已开启。之后每次登录都会要求输入验证码——点击扩展图标复制即可。

没有二维码,或者扫不出来?在 Heroku 的设置页面找到手动输入密钥的选项,复制密钥,然后在扩展中通过「添加账户」→「手动输入」→「密钥」添加。

免费安装身份验证器 2FA(Chrome 扩展)

生成 10 个 Heroku 恢复代码

恢复代码本身就是一种验证方式:在同一个多重身份验证页面选择「Add Recovery Codes」(添加恢复代码),Heroku 会显示 10 个一次性代码。把它们保存在这台电脑以外的地方——每个代码在使用前一直有效,你也可以随时生成新的一组。用它登录时,依次点击「Didn’t receive a notification?」(没有收到通知?)→「Choose Another Verification Method」(选择其他验证方式)→「Recovery Codes」(恢复代码)。

验证码不被接受?

几乎总是电脑时钟的问题。验证码是根据当前时间计算的,时钟差一分钟,生成的验证码看起来没问题,却会被拒绝。请在系统设置中开启自动设置日期和时间——Windows、macOS 和 Linux 的详细步骤。

如果时钟没问题,就检查密钥本身:把它粘贴到TOTP 验证码生成器中,对比生成的验证码与扩展中的是否一致。如果不一致,说明密钥复制错了——请重新添加账户。

常见问题

Heroku 需要 Salesforce Authenticator 吗?
不需要。Salesforce Authenticator 发送推送通知,但 Heroku 同样接受一次性密码生成器——任何能生成标准的基于时间的验证码的应用。Heroku 列举了 Google Authenticator、Microsoft Authenticator 和 Authy;Authenticator 扩展的工作方式相同,还能直接读取 Dashboard 上的二维码。
开启多重身份验证后,如何登录 Heroku CLI?
运行 heroku login:它会打开浏览器,你在那里登录 Dashboard,输入扩展中的验证码。在终端中要求输入密码的 --interactive 选项,无法与多重身份验证一起使用。
如果我无法使用身份验证器了怎么办?
用一个恢复代码登录,然后重新设置身份验证器。在 Heroku Enterprise Account 中,管理员可以在账户的 Access 标签页上用「Send MFA Recovery Token」(发送 MFA 恢复令牌)给你发送一个临时验证码。否则请联系 Heroku 支持,它可能会要求提供额外信息以确认是你本人。
为什么 Heroku 提示我的验证码不对?
通常是电脑时钟偏差了一分钟或更多。开启自动设置日期和时间,然后试试下一个验证码。如果还是不行,从扩展中删除该账户,在 Manage Multi-Factor Authentication 中删除一次性密码生成器,然后重新添加。

验证码就在登录页旁边,一键即得

Authenticator 把你的 2FA 验证码保存在浏览器里,只存放在你自己的设备上——可免费使用、开源,无需注册账户,也不需要手机。内置本地备份和可选的密码保护。

免费安装身份验证器 2FA(Chrome 扩展)