sendEmailVarification()で認証メールを送信する
はじめに
通知やメルマガでユーザーのアドレスを使用する場合や会員認証が可能。
今回はVue Typescript(javascript)のプロジェクトで実装。
※sendSignInLinkToEmail()でもアドレス取得が可能だが、emailLinkを要求するため、2回目以降も毎回リンク付きメールからログインしなければならない。
①SDKを追加してFirebaseを初期化する
以下記事参照
FirebaseにJavascriptのプロジェクトを追加する
公式
②sendEmailVerification()で認証メール送信
②-1 createUserWithEmailAndPassword()でアカウントを作成
認証メールはログイン状態でないと送信できないため、先にアカウントを作成する
※この時点でコンソールにはアカウントが作成されるが、まだ認証済みではない。
②-2 sendEmailVerification()で認証メール送信
※actionCodeSettingsはURL付きメールの設定 公式を参照
認証メールが送れなかったらuser.delete()で消去する
③emailVerifiedでログインを承認する。
②で送信された認証メールのURLを開くをfirebase.User.emailVerifiedが付与される
onAuthStateChanged()でユーザーの状態を取得してemailVerifiedであればログインさせる。