user+123@gmail.com というアドレスを持つユーザーが user@gmail.com にアドレスを変更しようとすると、確認リンクは届きますが、それを承認しようとすると「メールアドレスは既に使用されています」というエラーが表示されます。
以下のような処理を行うべきだと思われます。
- 他のアドレスへの変更を拒否する
- (同じアドレスなので)確認なしでアドレスを承認する
- アドレスが既に存在するかどうかを確認する前に、アドレスを置き換える
user+123@gmail.com というアドレスを持つユーザーが user@gmail.com にアドレスを変更しようとすると、確認リンクは届きますが、それを承認しようとすると「メールアドレスは既に使用されています」というエラーが表示されます。
以下のような処理を行うべきだと思われます。
これです。ユーザーがメールを変更しようとし、正規化されたメールアドレスが同じ場合、それ以上の処理なしで変更されるべきです。
今のところ、この修正に#pr-welcomeを付けるのは喜んでいます。
これは、どのメールプロバイダーにも適用するには危険ですが、Gmailアドレスに限定すれば問題ありません。