GitHubの2段階認証とhttpsアクセス

GitHubの2段階認証を有効にしたところ、httpsなURLのリモート・リポジトリへのpushが弾かれるようになった。ちゃんと記事読んだらトークンで認証させろと書いてあった……。指示に従ってアカウント設定のApplicationsからPersonal Access Tokenを発行し、パスワードの代わりにそれを使うようにしたところ、httpsでも元通り自動認証でpushできるようになったようだ。

"GitHub 2段階認証 https"で検索して見つかるGithubの2段階認証を有効にしてgitからの認証が弾かれる時の話には毎回トークンを入力する必要がありますと書いてあるが、credential.helperを設定しているならそんなことはない。単純に今までのパスワードの代わりに発行したトークンを入力して、ヘルパー・アプリケーションに覚えさせれば二度と聞かれなくなる。

credential.helperで指定するヘルパー・アプリケーションにはOS XだとKeychainを直接使えたりするけど、Windowsの場合はgit-credential-winstoreをインストールして設定する(GitHubのヘルプにも載っている)。保存先は汎用資格情報で、確認はコントロール パネルの資格情報マネージャーから。