0

Firebaseをバックエンドとして使用してアプリケーションを作成しています。すべてが素敵で滑らかですが、認証に関するいくつかの質問があります。Android Firebase Auth:アプリ内でアカウントの確認とパスワードのリセット

  1. FirebaseUser.sendEmailVerification()メソッドは、インターネットブラウザを開くリンクを含む電子メールを送信します。それは正常に動作しますが、アプリケーションで検証をリダイレクトして管理することは可能ですか?このワークフローではブラウザが重複しているようです。

  2. 同様に、FirebaseAuth.sendPasswordResetEmail([email])メソッドは、パスワードを変更するインタフェースとしてブラウザを使用します。それは、アプリケーション内で変更する方が便利です。それを行う方法はありますか?

答えて

0

あなたはsendEmailVerificationsendPasswordResetEmailの両方をtrueに設定してcanHandleCodeInApp ActionCodeSettingsオプションを渡すことで、直接アプリにアクションコードとFirebaseダイナミックリンクを送ることができます。 https://firebase.google.com/docs/auth/android/passing-state-in-email-actions この場合、着信アプリリンクを検出し、FDLを使用してディープリンクを解析し、アクションコードとモードを取得し、独自のUIを構築して電子メールを確認したり、パスワードをリセットする必要があります。あなたはこのガイドをAndroidに移植して次のことをもっと詳しく説明できます:https://firebase.google.com/docs/auth/custom-email-handler

+0

私はあなたのアプローチを今日後でチェックしますが、あなたは私の一日を救ったでしょう!どうもありがとう! –

+0

これを答えとしてマークしますが、 'sendPasswordResetEmail'でダイナミックリンクを使用する方法は明らかです。 Firebaseコンソールの電子メールテンプレートのリンクを変更する必要がありますか?しかし、どのように見えるようにしなければならないのですか?新しいパスワードをサービスにどのように渡すのですか? –

+0

詳細については、ドキュメントを読むことをお勧めします。電子メールテンプレートを変更せずに、新しいパスワードを渡すことはありません。あなたのアプリケーションを識別する正しいアクションコード設定でパスワードリセット電子メールを送信した後(FDLを正しく設定していることを確認してください)、インテントフィルタを介して受信リンクをインターセプトするロジックを追加し、FDLクライアントライブラリとの深いリンクを解析し、コードを取得して適用し、アプリ内で新しいパスワードをユーザーに尋ねることができます。 – bojeil

関連する問題