現在iOSアプリを開発しており、そのアプリ内でFIrebaseを用いた2段階認証を実装しています。
2段階認証の構成は
①メールアドレス+パスワード
②SMS認証(OTP)
としています。
今困っているのはSMS認証に設定していた電話番号が何らかの理由でユーザーが利用できなくなるケースです。これの対応としてFirebaseで実装する場合のベストプラクティスはどのようなものになりますか。
一応私が現在考えているものを書いておきます。
ユーザーが初めて2段階認証を設定する際にバックアップコードを生成してユーザーに保管してもらい、そのコードをFirebase上に保存しておきます。ユーザーが電話番号を利用できなくなった際にそのコードを使ってログインしてもらいます。
またそのコードを無くした場合の対応も一応考えました。アプリの2段階認証を任意設定として、2段階認証が有効か無効なのかをFirebase上で保存しておきます。ユーザーからサポートメールなどで連絡を受けた場合に、何かしらの方法で本人の証明をしてもらい、Firebase上のそのユーザーの2段階認証の設定を無効にするといったものです。
この辺はセキュリティに強く絡んでくると思うのでどのようにするのが一番いいのか悩んでいます。個人で開発するアプリとして、どこまで考えるべきなのでしょうか。ご教示ください。
あなたの回答
tips
プレビュー