2017-10-25 8 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. 
    }); 

をこれは、検証後も継続ボタンが表示されます。これを使用して、アプリまたはあるページに戻って、検証のリアルタイムデータベースを介して元のページに通知することができます。

関連する問題