수색…


통사론

  • 파일에 로그인 한 사용자의 이메일 주소로 이메일 확인을 보냅니다. Firebase를 사용하면 전자 메일이 수반하는 내용사용자 지정할 수 있습니다.
  • 전자 메일이 사용자의 전자 메일 계정에 도달하면 사용자가
  • 위의 예에서 angle-ui-router를 사용하여 선택한 라우터를 사용하여 URL의 매개 변수를 차단합니다.
  • Firebase의 applyCode 함수를 사용하여 params를 applyCode .
  • 위의 프로세스와 관련된 기능은 아래를 참조하십시오.

매개 변수

함수... 그렇다
sendEmailVerification () 사용자에게 확인 이메일을 보냅니다.
applyActionCode () emailVerifiedfalse 에서 true 변경하는 작업 코드를 적용 true

비고

위의 내용은 Firebase에서 전자 메일 검증 체계를 사용하는 방법을 요약 한 것입니다. 지금까지 내가 본 이메일을 검증하는 가장 간단한 방법 중 하나입니다.

Firebase 3.0 SDK가있는 Email Verification 에서 위의 예제에 대한 설명이 약간 있습니다.

샌드 - 프로세스 합격 확인 작업 코드 - 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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow