Bug(バグ) #2340
Yuya Watanabe さんが13年以上前に更新
h3. 概要
#1816 「管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できる」
での修正により、修正後に送信されたメールに記載されているURLでは重複登録ができないようになっている。
しかし、修正前に送信したメールのURLについては修正後でも重複登録が可能となっており、対処がなされていない。
そのため、修正前に送信されたメールのURLについても重複登録を行えないように対処を行う必要がある。
h3. 再現手順
# #1816の修正を行う前の環境で下記を行う
## 管理画面でメールアドレスAに招待メールを送る -> 招待状1
## 管理画面で同じメールアドレスAに招待メールを送る -> 招待状2
# 現在メールアドレスAで2通受信されていることを確認する
# 修正を施して現在修正後の環境で以下を行う
## 招待状1から会員登録
→member id 2にて登録完了 # 期待される結果ではない
## ログアウトせずに招待状2から会員登録画面を表示
## 登録完了
→member id 3にて登録完了
h3. 確認バージョン
OpenPNE3.7.0-dev, OpenPNE3.4.15-dev
h3. 原因
メンバ登録時に,招待メールに記載されたURLのトークンが有効であるかどうかを確認する実装がない.
h3. 修正方針
note-8より,同pc_address_preのvalueを持つregister_tokenのupdated_atが最新であるとき,あるメールアドレスで登録しようとしてるもののうち最新のトークンであるものが得られると考えられる.
そのため,招待メールに記載されたURLが有効かどうかについてもこのトークンの更新時間によって判定することを考える.
h3. 修正内容
招待メールに記載されたURLをクリックした際にトークンが有効かどうかを確認する実装を追加した.
具体的には,URLに付与されたトークンがメンバ情報にあるメールアドレスが複数あるうちで最も新しいトークンかどうかを確認している.