Laravel 10 入門トップページ


目次

  1. 全体の概要
  2. Laravel によるユーザ認証
    1. 概要
    2. プロジェクトの作成と初期設定
    3. メールの設定
    4. Laravel Breeze のインストール
    5. ユーザ登録機能の動作確認
    6. シーダによるテストユーザの登録
    7. テーブルにログイン ID の属性を追加
    8. ユーザ登録機能の修正
    9. ログイン ID でログインするように変更
    10. メールアドレスの検証
    11. シーダの修正
    12. 検証メールの有効期限と再送信
    13. セッション継続時間の確認と変更
    14. メールアドレスの変更
    15. パスワードの変更
    16. アカウントの削除
  3. ユーザ認証を備えたコメント掲示板の開発
  4. マルチ認証の実現

Laravel でユーザ認証とマルチ認証を実現する

Laravel によるユーザ認証

検証メールの有効期限と再送信

ここまでの作業でユーザ登録のメール検証がほぼ出来上がりました.ここでは検証メールの有効期限が正しく設定されていることを確認し,合わせて検証メールの再送信機能がすでに実装されているも確認します.

laravel10-2023-auth-30.png

上の検証メールの本文には次のような URL が記載されています.この中に有効期限 expires=1699007397 の情報があります.この 1699007397 という値は UNIX 時刻で,UTC 時刻の 1970年1月1日午前0時0分0秒(これを UNIX エポックと呼びます)からの経過秒数を意味しています.Web サイトを検索すると UNIX 時刻を日時に変換するサービスがあるので,これらを利用すると良いでしょう.UNIX 時刻の 1699007397 は日本時間の 2023年11月03日 19:29:57 です.つまり,ユーザ登録が完了した 18:29:57 のちょうど1時間後を意味しています.

If you're having trouble clicking the "Verify Email Address" button, copy and paste the URL below into your web browser: http://192.168.56.101:8000/email/verify/4/4f8b9db4f0e27feff6d769683d1630dc6eceb7a2?expires=1699007397&signature=9e453e6db6dfc737a06d3bbd1ffefbbb34344f3f1354c16cdbe714c9f4ced3d4

それでは検証メールの有効期限1時間が正しく動作しているかテストしてみます.データベースをリセットしてユーザ登録をもう一度行います.

laravel10-2023-auth-32.png

ユーザ登録の結果,検証メールを受信しますが,1時間以上経過してからリンクをクリックします.すると,403 エラーになりました.つまり有効期限の設定が正しく動作していることを意味しています.

laravel10-2023-auth-33.png

ログインページに戻ってログインすると,メールの検証を促す画面が再び表示されます.このページで「RESEND VERIFICATION EMAIL」ボタンを押下すると,再びメールを受信できます.

laravel10-2023-auth-34.png

受信した再送信メールのリンクをクリックします.

laravel10-2023-auth-35.png

今度は検証に成功してログインできました.

laravel10-2023-auth-36.png

つまり,再送信の機能もすでに実装されていたことがわかりました.

目次に戻る