🤔

なぜ heroku login でシェルからコマンドが発行できるのか?

2022/02/07に公開

それは違うよ! とかあればコメントで教えてください。

heroku login コマンドするとブラウザが開く

heroku にデプロイする時とかにシェルで

$ heroku login

するとブラウザが開いてログイン画面が表示されます。
その後、ブラウザでログインするとその端末のシェルから heroku コマンドが発行できますね。
しかし、コマンド実行時に ID/password を入力するわけでもないのに
なぜブラウザ側でログインすると自分の herokuアカウント としてコマンドが実行できるのでしょうか。

heroku 側に公開鍵を登録したりしてはいないので、
公開鍵認証(など)でSSH しているわけでもなさそうです。

※ -i, --interactive オプションをつけることで IP/password 方式でログインもできますね

たぶん グローバルIPアドレス で判定している

proxyを通しているときなど、特定の状況下で
IP address mismatch というエラーが出るため。

たぶんなので、違うかも。

参考

Discussion