FirefoxでDiscourseの2FAにYubiKeyを使用する方法

Yubikey を 2FA に追加するという一見単純な作業ですが、うまくいかず、この新しい仕組みに大いに混乱しています。

  • Yubikey はどのように設定すればよいでしょうか?
    • OTP?
      • Yubico OTP?
      • チャレンジレスポンス?
      • 静的パスワード?
      • OATH-HOTP?→ Firefox で試しましたが、「The attestation format is not supported by the server.(サーバーは証明形式をサポートしていません)」というエラーが返されました。
    • FIDO2?
  • どのブラウザを使用する必要がありますか?
    • Firefox?
    • Chrome?
    • それ以外のブラウザ?

ええと、何かを設定する必要はないはずです。以下の手順をお試しください。

  1. YubiKey を USB ポートに接続します
  2. サイトの /my/preferences/second-factor に移動します
  3. セキュリティキーを追加 ボタンを選択します
  4. 必要に応じてキーに名前を付け、登録 ボタンを選択します
  5. YubiKey にタッチします

Safari、Firefox、Chrome で動作するはずです。対応しているデバイスと NFC 搭載の YubiKey をお持ちであれば、モバイル端末でも動作します。

Chrome と OATH-HOTP で動作しました。
Firefox ではさらに試していません。

ふむ…興味深いですね。
予備のキーは必要なので、Firefox でもう一度試してみます。

本日、上記で既述の通り、FF 84.0.2 を通じて meta.discourse.org の 2FA を有効化しようと試みました。同じエラーメッセージが表示されました。

同じ操作を Chrome 88.0.4324.96 で試したところ、瞬時に成功しました。

「The attestation format is not supported by the server.」で Google 検索すると、4 つのヒットがあり、すべて Discourse のソースコードに関連するものでした。まだこの問題に直面した人がいないようです… :frowning:

興味深いことに、FF のプライベートモードでは 2FA ログインが動作しました。

編集:
再度 12 回ほど試行し、FF のアドオンとスクリプトブロッカーを無効化し、上記の通りプライベートモードでの閲覧を試したところ、FF でも 2FA が動作しました。

奇妙なことに、FF のアドオンとスクリプトブロッカーを再度有効化しても、2FA は引き続き動作しています。

とにかく、動作しているため、私は満足です。この件は終了します :slight_smile: