Buscar..


Sintaxis

  • Enviar verificación de correo electrónico a la dirección de correo electrónico del usuario registrado en el archivo. Firebase te permite personalizar lo que implica tu correo electrónico
  • Cuando el correo electrónico llega a la cuenta de correo electrónico del usuario, el usuario hace clic en
  • Usando el enrutador de su elección (se usa angulo-ui-enrutador en el ejemplo anterior), intercepte los parámetros en la URL.
  • Mastique los parámetros utilizando la función applyCode en Firebase.
  • Vea a continuación las funciones involucradas en el proceso anterior.

Parámetros

La función... Hace
sendEmailVerification () Envía un correo electrónico de verificación a un usuario.
applyActionCode () Aplica el código de acción que cambia emailVerified de false a true

Observaciones

Lo anterior resume bastante bien cómo utilizar el esquema de verificación de correo electrónico con Firebase. Hasta ahora, es una de las formas más sencillas de verificar el correo electrónico que he visto.

Hay una pequeña explicación del ejemplo anterior disponible en Verificación de correo electrónico con Firebase 3.0 SDK.

Código de acción de verificación de proceso de envío - 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow