ここまでの作業でユーザ登録のメール検証がほぼ出来上がりました.ここでは検証メールの有効期限が正しく設定されていることを確認し,合わせて検証メールの再送信機能がすでに実装されているも確認します.
上の検証メールの本文には次のような 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時間が正しく動作しているかテストしてみます.データベースをリセットしてユーザ登録をもう一度行います.
ユーザ登録の結果,検証メールを受信しますが,1時間以上経過してからリンクをクリックします.すると,403 エラーになりました.つまり有効期限の設定が正しく動作していることを意味しています.
ログインページに戻ってログインすると,メールの検証を促す画面が再び表示されます.このページで「RESEND VERIFICATION EMAIL」ボタンを押下すると,再びメールを受信できます.
受信した再送信メールのリンクをクリックします.
今度は検証に成功してログインできました.
つまり,再送信の機能もすでに実装されていたことがわかりました.