セキュリティ上の観点からGitHubの2段階認証を有効にしている方はいらっしゃるかと思います。しかし、この設定ではGitの認証が通らないためSourceTreeのアカウント認証がうまく行えない問題が発生します。ここではGitHubの2段階認証を有効にしている環境でも正常にSourceTreeを使えるようにします。要は自分がやらかしたのでメモとして残しているだけです。
1. トークンを発行する
簡単に言うとこのステップでトークンと呼ばれるパスワードの代替となる文字列を発行し、この文字列をSourceTreeで使用します。Googleアカウントでも似たようなものがありますね。
GitHubにログインしてアカウント設定画面を開き、Personal access tokensをクリックします。
Generate new token(新しいトークンを作成)をクリックします。
トークンの作成画面が開きます。Descriptionには分かりやすい名前をつけておきましょう。SourceTreeをインストールした端末の名前などお好きなもので構いません。
どこまでのアクセスを許容するかを指定しますが、**repoとuserにチェックを入れます。**これがミソです!
トークンが生成されると謎の文字列が表示されます。この文字列は一度しか表示されないため、一通り作業が終わるまではこのまま開いておくべきです。(一通り作業が終わったら忘れて構いません。覚えていてもムダになるだけです。)
もし何らかの理由で失ってしまった場合は再度発行したらオッケーです。
2. 発行したトークンでアカウントをリンクする
macOSの場合
歯車のアイコンをクリックし、Accounts...を選択してアカウント設定画面を開きます。
左下の[Add...]をクリックし、次のように入力します。
- ホストはGitHubを選択
- Auth TypeはBasicを選択
- もしOAuthが使えるならおそらくこの記事は読む必要がありません
- ユーザー名はGitHub IDを入力
- パスワードに先ほどのトークンを入力
これで、プライベートリポジトリを含む全てのリポジトリにアクセスできるようになりました!お疲れ様でした。
Windowsの場合
- [新規・クローンを作成する]をクリックします。
- をクリックします。
- クローンできるリポジトリのリストが表示されます。[アカウントを編集]をクリックします。
- ホストアカウントの一覧が表示されます。[追加]をクリックします。
- ホスティングサービスにGitHubを選択します。
- ユーザー名はGitHub IDを入力します。入力後少しだけ待つとログイン画面が表示されます。