1
私はドキュメントのようにユーザーの電子メールの確認を処理します。ユーザーがリンクをクリックして電子メールを確認すると、ログインする必要もありますか?このプロセスの後、コンソールで "firebase.auth()。currentUser"をチェックすると、nullが返されるためです。私はそれが確認リンクをクリックした後に自動的にログインすると思います。Firebaseでユーザーの電子メールの確認をしてからログインする必要はありますか?
function handleVerifyEmail(auth, actionCode, continueUrl) {
// Try to apply the email verification code.
auth.applyActionCode(actionCode).then(function(resp) {
// Email address has been verified.
// TODO: Display a confirmation message to the user.
// You could also provide the user with a link back to the app.
// TODO: If a continue URL is available, display a button which on
// click redirects the user back to the app via continueUrl with
// additional state determined from that URL's parameters.
}).catch(function(error) {
//
});
}
返信いただきありがとうございます。私は実際にユーザーが自分の電子メールを確認するときにいくつかのデータベース操作をトリガーしたいと思う。しかし、Firebaseは残念なことに電子メールの検証を聞いていないので、ログインしているユーザだけを許可するhttpsエンドポイントで処理することに決めました。しかし、ユーザーが別のデバイスやブラウザ上で確認リンクをクリックするとFirebaseが自動的にログインしないように見えるので、httpsエンドポイントはそれらを許可しません。私はユーザーの最初のサインインを聞くと思うかもしれませんが、Firebaseのドキュメントは "電子メールパス"アカウントではなく "連合アイデンティティプロバイダ"のみをサポートしていると言います。提案はありますか? –
電子メールの検証フローは、ユーザーにサインインする方法ではありません。これは、メールの所有権を確認するためのメカニズムにすぎません。 Firebaseの文書では、「電子メールパス」アカウントではなく「連合アイデンティティプロバイダ」のみをサポートしていると言われています。アクションコードをHTTPエンドポイントに渡すことができます。ここでnode.jsクライアントsdkを使用して「checkActionCode」を呼び出してユーザー情報を取得し、次に「applyActionCode」を使用して検証を完了します。成功した場合のみ、Firebase Admin node.js SDKを使用して、管理者権限を持つユーザに必要なデータベース変更を行うことができます。 – bojeil