django-allauth環境下でメールアドレスを変更する
条件
メールアドレスでユーザー認証を行う場合に、UserモデルかEmail Addressモデルのどちらのデータを使ってユーザー認証を行っているかわからない。
またEmail Addressインスタンスを変更するとUserモデルインスタンのEメールも自動的に変更されるのかもわからない。この辺を明らかにしていきたい。
検証
Userモデルのemailアドレスをadminから変更する。そして変更後のemailアドレスを使ってログインを試みる。
結果
Userモデルのemailアドレスを変更したところ、変更したアドレスとパスワードを使ってユーザー認証することができた。
また変更前のアドレスとパスワードを使ってもユーザー認証づる事ができた。
結論
Authentication and AuthorizationのUserモデルのemailaddressでもユーザー認証できるし、AccountsのEmail Addressモデルのemailaddressでもユーザー認証できる。したがってemailアドレスを変更する場合には両方とも変更しなければ、セキュリティに問題が生じる。