Google 認証システムアプリの二段階認証でコードが間違っていると表示されてログインできない時の解決方法(Androidの場合)

Google 認証システム、認証アプリで二段階認証のコードを何度入力してもログインできない、コードが間違っている時の解決方法 ネットやパソコンについての勉強メモ

事の発端は、Twitterのパスワードを変えたので変更後のパスワードでログインできるかどうか試すためにログアウトして、ユーザーネームと新しいパスワードでログインしようとした時に、ユーザー名とパスワードは合っていたので次に進むことができたのですが

私はTwitterのセキュリティ設定でGoogle認証アプリによる二段階認証を設定していたので、二段階認証のコード入力を求められてAndroidでGoogle 認証システムのアプリ(Google Authenticator)を起動して表示されたコードを入力しても

何度入力してもTwitter上では「間違っています」というようなメッセージが出てログインできない。

Google 認証システム、認証アプリで二段階認証のコードを何度入力してもログインできない、コードが間違っている時の解決方法

私はスマートフォンを買い替えた時にGoogle認証アプリにあるアカウントを移行という機能を使ってグーグル認証アプリに登録された情報を古い端末から新しい端末にエクスポートしていました。

エクスポート後も古い端末からGoogle認証アプリを削除しない限りはそのまま認証アプリとして使えるため

Google 認証システム(Google Authenticator)はアカウントの移行という機能で登録済みアカウント情報を他の端末に一括転送できる

新しいほうの端末のGoogle認証アプリではログインできなかったので、古い端末のGoogle認証アプリを起動してコードを入力したところツイッターにログインできました。

ツイッターへのログインの件はこれで解決したのですが、なぜ新しいほうのスマホ端末でログインできなかったんだろう?と今後の2段階認証を使ったログインに関して不安を覚えました。

そしてこの件を機会に気づいたことは

古いほうと新しいほうの2台のAndroid端末でGoogle認証アプリを起動したところ、本来2台とも同じコードを示すはずなのにコードが一致しない。

どうしてだろう、Google認証アプリには機種変更などによって端末を変更した時のために今まで登録したアカウント情報を一括して転送する機能があります。今まで使用していた端末を持っていれば新しい端末にエクスポートできるという機能です。Google認証アプリにあるアカウントの移行という機能で確かに間違いなく正規の方法で古い端末からエクスポートして、新しい端末にインポートして情報を転送しました。
機種変更後しばらくは新しい端末でも古い端末でも、どちらでGoogle認証アプリを起動してコードを入力してもログインできていました。

なぜ今になって、ある日突然コードが機能しなくなるのだろうか…

たまに2段階認証が効かなくなったらお問い合わせするしかないようなサイトもありますが、たいていのサイトでは二段階認証が何らかの理由で使えなくなった時のためにバックアップコード、リカバリーコードなどが存在します。よって、ある日突然二段階認証が使えなくなってもどうにかなるものだとは思いますが、現在では二段階認証は日常的に使う必需品のようなものなので、万一使えなくなった時のことを考えると心配になってしまいます。

色々やってみた結果、解決方法を発見したので書きます。

私は二台でGoogle認証アプリを使用していますが、一台のみの使用で2段階認証のコードが無効になった時にも有効な解決方法だと思います。

スポンサーリンク

Androidの時刻を再設定してからスマホを再起動する

私の環境でGoogle Authenticatorによる認証コードが無効になってしまった原因はスマートフォンの時計がずれていたことでした。時刻が1~2分、微妙にズレているのです。

とはいっても、Androidスマホで設定→システム→日付と時刻と進むと

「ネットワークの時刻を使用する」と「タイムゾーンを自動設定」の2点にチェックが入っているので、私が適当に合わせた時刻ではなく、自動的に正しい日付と時刻になるはずなのですよね。

そこで、スマートフォンのアプリ一覧から時計のキャッシュを削除しました。

端末によって操作手順は異なるかもしれないのですが私の場合は、設定→アプリと通知→〇〇個のアプリをすべて表示→時計→ストレージとキャッシュ→キャッシュを削除という手順でした。

Android、アンドロイドの時計がずれる時は時計アプリのキャッシュを削除する

時計のキャッシュを削除したら、設定→システム→日付と時刻に進んで

「ネットワークの時刻を使用する」と「タイムゾーンを自動設定」の項目を一回オフにしてから、もう一度オンにします。入れなおすという感じですね。

Google 認証システム(Google Authenticator)のコードが間違っていて無効になりログインできない時はスマホの時刻を再設定する

その後、Androidを再起動します。

再起動が完了したら次は認証アプリの設定をします、以下に続きます。

Google 認証システム(Google Authenticator)でコードの時刻調整をする

Google 認証システムのアプリを開いて

右上に点が縦に3つ並んだメニューボタンがあるのでそちらを開いて

Google 認証システム(Google Authenticator)のメニューボタンの位置

設定を選択して、コードの時刻調整に進んで、

Google 認証システム(Google Authenticator)、認証アプリのコードでログインできない時にアプリの時刻調整をする

今すぐ同期をタップします。

何度入力しても二段階認証のコードが間違っている時には Google 認証システム(Google Authenticator)アプリのコードの時刻調整で今すぐ同期をタップする

これでコードが正しく表示されるようになり、コードが間違っているという不具合を解決することができました。

Google 認証システムのコードの時刻調整のみをやった時はコードが間違っているエラーは解決できず、スマホ自体の時計のずれを解決してからGoogle 認証システムのコードの時刻調整をやってみたところ有効なコードが表示されるようになりました。

スマホ本体の日付・時刻が正しくないことが間違った二段階認証コードが表示されログインできない原因となる

Google Authenticatorは時刻に左右されるのでスマホ本体の時間がずれていると今使える正しいコードが表示されないという不具合に遭遇してしまうように感じました。

バックアップコード、リカバリーコードが存在するサイトではあれば、それらを使ってログインして2段階認証を解除するという手段があります。しかしその前に

以下の順番で、

  1. Android端末の時計アプリのキャッシュを削除する
  2. Android端末のシステム設定から日付と時刻を設定しなおす
  3. Android端末を再起動して電源を入れなおす
  4. Google 認証システムアプリの設定からコードの時刻調整をする

こちらの4点を試してみると良いと思いました。コードが有効になって以降も、また時計がずれたり2段階認証アプリのコードが無効になった時には再度、上記手順を行えばOKです。対策がわかっていれば不具合が起きた時にもどうすればいいのか予めわかっているので安心ですね。

コメント

タイトルとURLをコピーしました