見出し画像

laravel8でFirebase Admin SDK for PHPを使ってみた(メール認証方法)

firebase authenticationではメール認証もデフォルトで提供しています。
さくっと認証を使いたい場合には便利です。

自分で認証用メールを送りたい!

まずは自前でユーザーにメールを送って、ユーザーにリンクを踏んでもらいたい場合です。

$link = $this->auth->getEmailVerificationLink($email);
$link = $this->auth->getEmailVerificationLink($email, $actionCodeSettings);

こちらのコードで認証用のリンクが発行されます。
このリンクをメールに貼って、あとはユーザーに送るだけ!
めちゃ簡単にできますね!
emailは実際に登録されているものじゃないとエラーになるので注意!

actionCodeSettingはURLを踏んだあとにどうするかというのを設定することができます。
下記を参考に設定することで、androidやiosアプリを開くことも可能だったりするみたいです。

$actionCodeSettings = [
   'continueUrl' => 'https://www.example.com/checkout?cartId=1234',
   'handleCodeInApp' => true,
   'dynamicLinkDomain' => 'coolapp.page.link',
   'androidPackageName' => 'com.example.android',
   'androidMinimumVersion' => '12',
   'androidInstallApp' => true,
   'iOSBundleId' => 'com.example.ios',
];

firebaseの機能で送りたい!

firebaseの機能でメールを送ることができます。

$this->auth->sendEmailVerificationLink($email);
$this->auth->sendEmailVerificationLink($email, $actionCodeSettings);
$this->auth->sendEmailVerificationLink($email, null, $locale);
$this->auth->sendEmailVerificationLink($email, $actionCodeSettings, $locale);

メールの実装をしなくて良いので、めちゃめちゃ便利!
メール文言についてはfirebase tuthenticationの画面から設定できます。

test_-_Authentication_-_Firebase_コンソール_と_新規記事作成|note

他にもパスワードの再設定やメールアドレスの変更、そしてSMS認証のメッセージも編集できます。

名前とかはfirebaseに設定されているのが自動で入るので、すごく便利ですね!

もっと他にもできることありそうなので、機会があればまた書いていきます。

一旦、今回はこちらでfirebase authenticationについては終了します。

また技術系の記事も書いていければと思っているので、そのときはよろしくお願いいたします。



この記事が気に入ったらサポートをしてみませんか?