何度もBitBucketの認証が出る問題


リモートリポジトリを BitBucket にしていると、SourceTreeが頻繁に認証画面を出してきて非常に鬱陶しい。

何も入れずに閉じてもPull / Pushはできている。
どうやら、バックグラウンドでFetchした時に認証を求めてくるようだ。SourceTreeは一定時間ごとに裏でFetchをしてリモートの情報を取ってきている。

環境は以下の通り、

  • Windows10
  • SourceTree  2.6.10.0
  • Git 2.18.0

特にGitHubとBitBucketの両方のリモートリポジトリをSourceTreeで扱っていると起きやすい気がする。

問題ありそうな箇所

  1. Windowsの認証管理情報
  2. SourceTreeでのアカウント設定

ほぼ、2.のSourceTree / Gitが保持しているログイン情報を設定、修正すればいいと思う。
ただ、Windowsの認証管理で問題が出ていても、Windowsの方からは何らエラーが出ないので厄介である。なので、これも対処に含めた。

結論だけ言うと、自分の場合はSourceTreeのアカウント設定で「デフォルトに設定」をするだけでよかった模様。

Windowsの認証情報を一旦削除

間違った認証情報がWindowsに登録されてしまうと、

  • Windowsがアプリケーションに代わってログインしようとする
  • サーバ側は認証失敗を返す
  • アプリケーション側で認証画面が出る
  • ログインし直す
  • Windows側のログイン情報は更新されない
  • 最初に戻る

という、無限ループにはまってしまう場合があるようだ。
認証に成功したらその時の情報が入りそうなものだが、更新に失敗する場合があるのだろうか?

Windowsの設定にある「資格情報マネージャー」から、BitBucket関係の認証情報を一旦削除してしまう。

設定画面から「資格情報」で検索する

「設定」画面から「資格情報」で検索すると早い。
あるいはコントロールパネルから入る。

「Windows 資格情報」の方に、

git:https://akiya64@bitbucket.org

とあるので、今回はこれである。他にあればBitBucketに関係する資格情報は一旦、全て削除する。
認証に失敗した場合でも、認証情報は追記されているため問題の切り分けが面倒になっている。

修正もできるので、正しく設定し直してやればいいのかもしれない。

SourceTreeでのアカウント設定

SourceTreeにはコードホスティングサービスのアカウント情報が登録できる。
メニューバーの ツール → オプション → 認証を開く。

ツール → オプション → 認証で認証情報の登録画面を表示

アカウントにBitBucketがないので追加する。
「Git保存されたパスワード」とは別の扱いである。

認証方法は BasicかOAuthが選べる。Basicの場合は、ここでユーザー名を入力してパスワードで認証する。

OAuthなら「OAuthトークンを再読み込み」で下記のようにBitBucketのWebサイトが開くので、連携アプリケーションのアクセスを許可してやればよい。

BitBucketアカウントの認証成功
BitBucketの管理画面で連携アプリケーションにSourceTree for Windows が追加された

ついで、ユーザー名のデフォルト設定をしておく。
これをしていないと、所有者が自分でないBitBucketのリモートにアクセスするとログインエラーになるようだ。

何やら日本語が怪しいが、ユーザー名の設定らしい

実は私の場合、ここのユーザー名の設定一発で認証画面が頻繁に表示される問題は解消した。

アカウント設定をやっておこう

何となくPull/Pushできるものだから、そのまま使ってきていたが、SourceTreeにアカウント情報を登録できるのだからやっておくべきだった。

OAuthで認証できるなら、こっちの方が断然、楽で確実である。

カテゴリー:

最終更新: