firebase                
            Vérification de l'e-mail après inscription
        
        
            
    Recherche…
Syntaxe
- Envoyer un courrier électronique de vérification à l'adresse e-mail de l'utilisateur connecté dans le fichier. Firebase vous permet de personnaliser le contenu de votre courrier électronique
- Lorsque le courrier électronique atteint le compte de messagerie de l'utilisateur, l'utilisateur clique sur
- En utilisant le routeur de votre choix (routeur angulaire utilisé dans l'exemple ci-dessus), interceptez les paramètres dans l'URL.
-  Mâchez les paramètres en utilisant la fonction applyCodedans Firebase.
- Voir ci-dessous pour les fonctions impliquées dans le processus ci-dessus.
Paramètres
| La fonction... | Est-ce que | 
|---|---|
| sendEmailVerification () | Envoie un email de vérification à un utilisateur. | 
| applyActionCode () | Applique le code d'action qui modifie l' emailVerifieddefalseàtrue | 
Remarques
Ce qui précède résume à peu près comment utiliser le système de vérification des e-mails avec Firebase. Jusqu'à présent, c'est l'un des moyens les plus simples de vérifier le courrier électronique que j'ai vu.
Il existe une explication plus détaillée de l'exemple ci-dessus disponible sur Email Verification with Firebase 3.0 SDK.
Code d'action de vérification d'envoi et de traitement - AngularJS
// thecontroller.js
$scope.sendVerifyEmail = function() {
    console.log('Email sent, whaaaaam!');
    currentAuth.sendEmailVerification();
  }
// where currentAuth came from something like this:
// routerconfig
....
templateUrl: 'bla.html',
resolve: {
    currentAuth:['Auth', function(Auth) {
      return Auth.$requireSignIn() // this throws an AUTH_REQUIRED broadcast
    }]
  }
...
// intercept the broadcast like so if you want:
....
$rootScope.$on("$stateChangeError", function(event, toState, toParams, fromState, fromParams, error) {
      if (error === "AUTH_REQUIRED") {
        $state.go('login', { toWhere: toState });
       }
    });
....
// So user receives the email. How do you process the `oobCode` that returns?
// You may do something like this:
// catch the url with its mode and oobCode
.state('emailVerify', {
  url: '/verify-email?mode&oobCode',
  templateUrl: 'auth/verify-email.html',
  controller: 'emailVerifyController',
  resolve: {
    currentAuth:['Auth', function(Auth) {
      return Auth.$requireSignIn()
    }]
  }
})
// Then digest like so where each term is what they sound like:
.controller('emailVerifyController', ['$scope', '$stateParams', 'currentAuth', 'DatabaseRef',
  function($scope, $stateParams, currentAuth, DatabaseRef) {
    console.log(currentAuth);
    $scope.doVerify = function() {
      firebase.auth()
        .applyActionCode($stateParams.oobCode)
        .then(function(data) {
          // change emailVerified for logged in User
          toastr.success('Verification happened', 'Success!');
        })
        .catch(function(error) {
          $scope.error = error.message;
          toastr.error(error.message, error.reason, { timeOut: 0 });
        })
    };
  }
])
Modified text is an extract of the original Stack Overflow Documentation
        Sous licence CC BY-SA 3.0
        Non affilié à Stack Overflow