nmtysh.log

Tech系のネタや日々の独り言などを書いています。

macのChromeでサイトにログインする際にAndroid端末を使った本人確認(MFA)ができない(解決済み)

環境

まとめ

Android端末を使って本人確認(MFA)をできるようにするには、mac側のChromeBluetoothの使用を許可されている必要があります。
許可するには「システム環境設定」→「セキュリティとプライバシー」→「プライバシー」→「Bluetooth」で"Google Chrome.app"を許可します。
許可後に必要に応じてChromeを開き直します。

起きたこと

macChromeGoogleアカウントやFacebookログイン時にMFAの認証でAndroid端末を選択できるものの、タイムアウトして認証ができない。

  • Googleアカウントの場合はAndroid側に認証の通知すら飛ばない(Android側でBluetoothをオンにすることは求められる)
  • Facebookアカウントの場合(Googleアカウント以外)はAndroid側に本人確認の通知が飛ぶものの認証に失敗する(タイムアウトする)
    • Android側の認証画面で「問題が発生しました」「パソコンに接続できません。他の確認オプションをお試しください」と表示される

試したこと

  • mac
    • 位置情報サービスの許可設定を切り替えてみる
    • Bluetoothのオフ・オンを試す
    • システム環境設定でChromeBluetoothの使用を許可する
  • Android
    • 位置情報サービスの権限設定を切り替えてみる
    • Bluetoothのオフ・オンを試す
    • Bluetoothのスキャン設定を切り替えてみる

原因

mac側のChromeBluetoothの使用が許可されていませんでした(許可が必要でした)。

  • 「システム環境設定」→「セキュリティとプライバシー」→「プライバシー」→「Bluetooth」で"Google Chrome.app"が許可されている必要がある
    • リストにChromeが無い状態でAndroidバイスを使ってMFAをしようとすると許可を求めるポップアップが表示される
  • 許可リストでChromeが拒否(チェックがついていない)とエラーやメッセージは表示されずにタイムアウトする
  • ChromeBluetoothの使用を許可していなくても、ChromeBluetoothを一時的にオンにすることは可能
    • Bluetoothはオンになるが、使用できないため認証プロセスがタイムアウトする
    • エラーが表示されないためBluetoothの使用が許可されていないことが判りづらい

まとめ(再掲)

Android端末を使って本人確認(MFA)をできるようにするには、

Android側は位置情報サービスの有効化も必要かもしれない(元々オンだったので試してない)。

「パソコンに接続できません。他の確認オプションをお試しください」で検索してもヘルプページも出てこないので、対処するのに時間がかかりました。
ログインをやり直したり、MFAの認証設定を解除したりして試しまくりました。
Windows 10の端末で試したときに問題なく認証できたのは、アプリごとのBluetoothの使用許可設定が無いからなのかな(プライバシー設定で許可設定を大概、絞っているはずだけど変更した記憶がない)

トラブルシュートできるように適切なエラーメッセージを表示するというのは大事だと思いました。
今回の場合だと、「Bluetoothの使用が許可されていません」などのメッセージをmac側のChromeに出して欲しかったです。