Rails 8の認証ジェネレータ:Forgot password? 編

前回の続きです。
Rails 8の認証ジェネレータはサインイン時にパスワードを忘れた場合のソースコードも生成します。
今回はこの場合の動作を確認したいと思います。

サインインしていなければ下記のサインイン画面が表示されます。

パスワードを忘れてしまった場合、画面の下の”Forgot password?”リンクをクリックします。クリックすると下記の画面が表示されます。

メールアドレスを入力して”Email reset instructions”ボタンをクリックします。クリックするとメールが送信されます。

開発環境ではメールが送られてくるかわりに、メールの内容がコンソールに出力されます。

メールにはパスワードをリセットする URL が書かれています。この URL をブラウザで開くとパスワードの更新画面が表示されます。

新しいパスワードを入力してパスワードを更新します。更新に成功するとサインイン画面が表示されます。

以上で更新したパスワードでサインインすることができます。


また開発環境ではメールの内容をブラウザで確認することができます。

参考:9.1 メールのプレビュー

Action Mailerのプレビュー機能は、レンダリング用のURLを開くことでメールの外観を確認する方法を提供します。

認証ジェネレータは下記のソースコードを生成します。

test/mailers/previews/passwords_mailer_preview.rb

# Preview all emails at http://localhost:3000/rails/mailers/passwords_mailer
class PasswordsMailerPreview < ActionMailer::Preview
  # Preview this email at http://localhost:3000/rails/mailers/passwords_mailer/reset
  def reset
    PasswordsMailer.reset(User.take)
  end
end

コメントに書かれた URL をブラウザで開きます。

open http://localhost:3000/rails/mailers/passwords_mailer/reset

HTMLとプレーンテキストを切り替えて確認できます。

HTML

プレーンテキスト

以上です。



▼この記事がいいね!と思ったらブックマークお願いします
このエントリーをはてなブックマークに追加