已开启MFA的Heroku账号无验证器应用无法登录如何解决
Heroku开启MFA后命令行无法登录的解决方案
报错原文:
Error: Your account has MFA enabled; API requests using basic authentication with email › and password are not supported. Please generate an authorization token for API access.报错原因:账号开启了多因素认证(MFA)后,Heroku不再支持邮箱+密码的基础认证方式用于API请求或命令行交互登录。
步骤1:恢复账号访问权限(丢失/未绑定验证器APP的情况)
- 打开Heroku网页端登录页,输入账号密码后,在MFA验证码输入页选择「使用恢复码」选项
- 输入你开启MFA时Heroku要求你保存的任意一个未使用的8位恢复码,即可成功登录网页端
- 如果你没有保存恢复码,选择页面上的「找回账号」选项,按要求提交身份验证材料即可申请解绑MFA,恢复账号访问权限
- 登录后可在账号设置的安全性板块重新绑定新的验证器应用,方便后续登录验证
步骤2:生成API授权令牌完成命令行登录
- 网页端登录后进入账号设置页面,下拉找到「API密钥」板块,点击生成/显示API密钥,复制生成的密钥
- 回到命令行执行
heroku login -i,邮箱输入你的Heroku账号邮箱,密码栏直接粘贴刚才复制的API密钥即可完成登录
替代方案:配置全局API令牌免登录
如果你不想每次执行命令都做交互登录,可以直接将API令牌写入系统环境变量:
- macOS/Linux系统执行命令:
export HEROKU_API_KEY=你生成的API密钥 - Windows系统执行命令:
set HEROKU_API_KEY=你生成的API密钥 - 配置完成后所有heroku命令会自动读取该令牌完成鉴权,无需额外登录操作
注意:API密钥等同于你的账号凭证,请勿泄露给第三方,也不要提交到公开代码仓库。如果怀疑密钥泄露,请立刻到网页端账号设置中作废旧密钥,生成新的密钥使用。
内容的提问来源于stack exchange,提问作者Jaehyuck Choi
相关产品推荐
相关产品推荐

