firebase
가입 후 이메일 확인
수색…
통사론
- 파일에 로그인 한 사용자의 이메일 주소로 이메일 확인을 보냅니다. Firebase를 사용하면 전자 메일이 수반하는 내용 을 사용자 지정할 수 있습니다.
- 전자 메일이 사용자의 전자 메일 계정에 도달하면 사용자가
- 위의 예에서 angle-ui-router를 사용하여 선택한 라우터를 사용하여 URL의 매개 변수를 차단합니다.
- Firebase의
applyCode
함수를 사용하여 params를applyCode
. - 위의 프로세스와 관련된 기능은 아래를 참조하십시오.
매개 변수
함수... | 그렇다 |
---|---|
sendEmailVerification () | 사용자에게 확인 이메일을 보냅니다. |
applyActionCode () | emailVerified 를 false 에서 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