回答編集履歴

2 補足

popobot

popobot score 6457

2017/02/11 07:04  投稿

リマインダーハッシュという用語は初めて聞きましたが、要するにパスワードを忘れてログインできない会員に、パスワード再設定ができるように、メールでハッシュ付きURLを送るやつのことですかね
実装は色々あると思いますが、ハッシュは会員登録時に作成するのではなく、メールを送信する際に作成するのがいいと思います。また、ハッシュを作成した日時も保存しておきます。
「会員テーブルのリマインダーハッシュと照合して一致するか確認 」する際に、作成した日時が現在時間と比較して、有効時間以上経過していたら、エラーを返せば時限式になるかと思います。
なお、ハッシュはコントローラで、会員名や日時をベースに適当にユニークになるように生成して、テーブルに保存すればいいと思います。ハッシュが重複してしまった場合やセキュリティも考慮して、仮パスワードなどがあってもいいかもしれません。
また、ハッシュは会員テーブルとは別のテーブルに保存しておいてもいいかもしれませんね。
また、ハッシュは会員テーブルとは別のテーブルに保存しておいてもいいかもしれませんね。
「パスワードリマインダー」でGoogle検索すると実装例などがいくつかあったので参考にするといいと思いますよ
1 補足

popobot

popobot score 6457

2017/02/11 07:02  投稿

リマインダーハッシュという用語は初めて聞きましたが、要するにパスワードを忘れてログインできない会員に、パスワード再設定ができるように、メールでハッシュ付きURLを送るやつのことですかね
実装は色々あると思いますが、ハッシュは会員登録時に作成するのではなく、メールを送信する際に作成するのがいいと思います。また、ハッシュを作成した日時も保存しておきます。
「会員テーブルのリマインダーハッシュと照合して一致するか確認 」する際に、作成した日時が現在時間と比較して、有効時間以上経過していたら、エラーを返せば時限式になるかと思います。
「会員テーブルのリマインダーハッシュと照合して一致するか確認 」する際に、作成した日時が現在時間と比較して、有効時間以上経過していたら、エラーを返せば時限式になるかと思います。
なお、ハッシュはコントローラで、会員名や日時をベースに適当にユニークになるように生成して、テーブルに保存すればいいと思います。ハッシュが重複してしまった場合やセキュリティも考慮して、仮パスワードなどがあってもいいかもしれません。
また、ハッシュは会員テーブルとは別のテーブルに保存しておいてもいいかもしれませんね。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る