2

Google Authenticator アプリでは、QR コードをスキャンするか、発行者から提供されたキーを手動で入力できます。

次のスクリーンショットでは、2 番目の方法に従って TOTP を取得する方法を示しており、Google セキュリティ設定の中で 2FA のセットアップを確認できます。

Google 2FA 設定 - Google 認証システムのセットアップ

私の質問は次のとおりです。このキーはどのように生成されますか?

私のウェブサイトで Google Authenticator を使用して 2FA をサポートしようとしていますが、QR コードの生成方法に関する多くの参照とドキュメントを見つけましたが、別の方法について言及しているものはありません。

編集:

もう少し明確にするために、Grails 3 webapp で Google Authenticator を使用して 2FA をサポートしています。各ユーザーの秘密鍵 (Base32文字列) を生成し、ユーザーがスキャンする QR コードを提供し、ログイン時に TOTP を検証することで、ユーザー フロー全体を既に実装しています。私は依存関係として使用しました:

  • org.jboss.aerogear:aerogear-otp-java、GA からの TOTP に対してユーザーの秘密鍵を便利に検証するaerogear OTP
  • org.grails.plugins:qrcodeqrcode QR コードを生成するGrails プラグイン

私の質問は、Google Authenticator アプリに新しいエントリを追加する 2 つの方法についてです。 Google セキュリティ設定で提供されます)

Android の GA からの説明用のスクリーンショットを確認できます。

Google 2FA 設定 - Google 認証システムのセットアップ

このようなコード (1 番目のスクリーンショットから始まりfzee、2 番目のスクリーンショットでは「提供されたキー」という名前) を生成してユーザーに提供するにはどうすればよいですか? QRコードにもエンコードされているのと同じデータ文字列のエンコードだと確信していますが、どれが(単純にではなく)わかりませんBase32

4

4 に答える 4