2017-10-25 1 views
1

는 여기에 내가 (공식 docs에서 가져온) 확인 이메일사용자가 확인 링크를 클릭했는지 확인할 방법이 있습니까?

var user = firebase.auth().currentUser; 

user.sendEmailVerification().then(function() { 
    // Email sent. 
}).catch(function(error) { 
    // An error happened. 
}); 

User 객체가 emailVerified 속성이를 보낼 사용하고 코드입니다. 사용자가 메일의 링크를 클릭해도 변경되지 않습니다. 다시 로그인 할 때만 업데이트됩니다. 사용자가 주소를 성공적으로 확인했음을 앱이 알 수있는 방법이 있습니까?

답변

1

여기

firebaser 사용자가 확인 링크를 클릭 할 때 트리거에는 클라이언트 측 콜백이 없다.

사용자가 이메일 주소를 확인할 때 클라우드 기능을 트리거하는 기능 요청이 있지만 해당 기능이 언제/올지에 대한 업데이트가 없음을 확인했습니다. (또한 참조 : Cloud Functions for Firebase - action on email verified)

제가 생각할 수있는 가장 좋은 점은 업데이트 된 속성을 얻기 위해 가끔 User.reload()으로 전화하는 것입니다. 다시 응용 프로그램으로 리디렉션하는 이메일 확인을 보낼 때

+0

선생님, 완벽합니다. 고마워요! –

0

당신은 continueUrl을 추가 할 수 있습니다 : 이것은 검증 한 후 버튼을 계속 표시됩니다 https://firebase.google.com/docs/auth/web/passing-state-in-email-actions

var actionCodeSettings = { 
    url: 'https://www.example.com/?email=' + 
     firebase.auth().currentUser.email 
}; 
firebase.auth().currentUser.sendEmailVerification(actionCodeSettings) 
    .then(function() { 
    // Verification email sent. 
    }); 

. 응용 프로그램이나 일부 페이지로 돌아가서 확인의 실시간 데이터베이스를 통해 원본 페이지에 알릴 수 있습니다.