heroku如何在其命令行应用程序中存储其身份验证?

Dav*_*d C 3 ruby security authentication command-line design-patterns

我假设当您第一次安装heroku gem时,系统会提示您输入您的用户名/密码,它会将该用户名/密码发送到其服务器进行验证.

然后,heroku(或任何其他命令行应用程序)如何安全地在文件系统上存储该经过验证的令牌,然后在运行其他命令(如"heroku create")进行验证时将其一起传输?

我在这里使用heroku作为一个例子,因为它是我能想到的唯一一个我现在想做的事情.

Tay*_*tay 8

Heroku现在详细说明了如何在Heroku CLI中存储他们的身份令牌,其中包含非常详细的信息:https: //devcenter.heroku.com/articles/authentication

相关摘录:

API令牌存储

Heroku命令行工具在标准Unix文件〜/ .netrc中存储API令牌.netrc格式已经很好地建立,并且受到unix上各种网络工具的良好支持.使用存储在此文件中的Heroku凭据,其他工具(如curl)可以在很少或不需要额外工作的情况下访问Heroku API.

cd ~
ls .netrc
ls: .netrc: No such file or directory
$ heroku login
Enter your Heroku credentials.
Email: me@example.com
Password:
$ cat .netrc
machine api.heroku.com
  login me@example.com
  password c4cd94da15ea0544802c2cfd5ec4ead324327430
machine code.heroku.com
  login me@example.com
  password c4cd94da15ea0544802c2cfd5ec4ead324327430
Run Code Online (Sandbox Code Playgroud)