73 votes

L'e-mail de confirmation de Firebase n'est pas envoyé

J'ai mis en place avec succès l'authentification par email/mot de passe de Firebase, mais pour des raisons de sécurité, je veux que l'utilisateur confirme son email. C'est écrit sur le site de Firebase :

Lorsqu'un utilisateur s'inscrit en utilisant une adresse électronique et un mot de passe, un courriel de confirmation est envoyé pour vérifier son adresse électronique.

Mais lorsque je m'inscris, je ne reçois pas d'e-mail de confirmation.

J'ai cherché et je n'ai trouvé qu'un code pour envoyer l'e-mail de réinitialisation du mot de passe, mais pas un code pour envoyer l'e-mail de confirmation.

J'ai regardé ici :

https://firebase.google.com/docs/auth/ios/manage-users#send_a_password_reset_email

Quelqu'un a une idée de la façon dont je peux le faire ?

2 votes

Vous avez créé un lien vers la documentation iOS, mais la réponse acceptée utilise JavaScript. Laquelle utilisez-vous (afin que je puisse modifier la question en fonction de la plate-forme utilisée) ?

0 votes

Je n'arrive pas à trouver .sendEmailVerification() dans la version Android. Quelqu'un a-t-il réussi à utiliser la vérification d'email dans Firebase sur Android ?

0 votes

firebase.google.com/support/releases API manquante pour démarrer le flux de vérification des emails.

1voto

Binod Kafle Points 21

Ce n'est pas la réponse à la question mais cela peut aider quelqu'un. N'oubliez pas d'ajouter le domaine de votre site à la liste des domaines autorisés dans la section "Méthode d'identification".

0voto

sjsam Points 186

Vous pouvez envoyer un e-mail de vérification à tout utilisateur dont l'e-mail est lié au compte Firebase Auth. Par exemple, dans Flutter, vous pourriez faire quelque chose comme :

Future<void> signInWithCredentialAndLinkDetails(AuthCredential authCredential,
    String email, String password) async {
  // Here authCredential is from Phone Auth
  _auth.signInWithCredential(authCredential).then((authResult) async {
    if (authResult.user != null) {
      var emailAuthCredential = EmailAuthProvider.getCredential(
        email: email,
        password: password,
      );
      authResult.user
          .linkWithCredential(emailAuthCredential)
          .then((authResult,onError:(){/* Error Logic */}) async {
        if (authResult.user != null) {
          await authResult.user.sendEmailVerification().then((_) {
            debugPrint('verification email send');
          }, onError: () {
            debugPrint('email verification failed.');
          });
        }
      });
    }
  });
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X