django-rest-authでパスワードの変更のメールが飛ばない事象

今回はDjango REST frameworkを使用しているときに、django-rest-authでパスワードの変更のメールが飛ばない事象が起きるのはなぜなのかについてご紹介いたします。



django-rest-authでパスワードの変更のメールが飛ばない事象

django-rest-authでパスワードの変更のAPIを実装していたときのことです。

下記のQiitaの記事をもとに開発を進めたものの、サンプルプログラムを丸写ししてもパスワードのリセットのメールが飛ばなくて数時間あくせくしておりました。
https://qiita.com/fumuumuf/items/47c77eed8202e426def7
https://qiita.com/fumikoi/items/45dfaeaf4dc21eb56615

結論を言うと、Qiitaの記事に書かれているサンプルプログラムは何も間違っていませんでした。
間違っていたのは、私のdjango-rest-authのパスワードリセットに対する解釈です。

私はどのメールアドレスでもdjango-rest-authを使ってパスワードリセットができると思い込んでいたので、適当に私のメールアドレスで
rest-auth/password/reset
のエンドポイントを叩いていました。

しかし、django-rest-authの中身を確認したところ、DBの登録されているユーザーが持つメールアドレスに対してしかパスワードリセットのメールが飛ばないようです。

エラーメッセージなどが出ずに、
"detail": "Password reset e-mail has been sent."
と成功したようなメッセージがレスポンスとして返されていたのでまったく考えにもよりませんでした。
試行錯誤で数時間溶かしましたね。

ただ、おかげでdjango-rest-authの中身には詳しくなりました。
その意味ではかなり勉強になりました。

終わりに

今回はDjango REST frameworkを使用しているときに、django-rest-authでパスワードの変更のメールが飛ばない事象が起きるのはなぜなのかについてご紹介いたしました。

【お知らせ】
プログラミングのコンサルタントをすることを考えております。
下記の通り、かなり格安でご用意させていただいております。
【格安】プログラミングコンサル生募集(初心者向け、フリーランス志望向け)

詳しくは下記のリンクをご覧ください。
https://chico-shikaku.com/2020/10/programming-consult-2020/

11月くらいを目処に開始予定です。
最初は募集があれば先着5名くらいを目安に考えております。
質問や意見、問い合わせやお申し込みは下記のリンクよりお願いいたします。
https://docs.google.com/forms/d/e/1FAIpQLSeTXskmlyPAHuhwiOE9togqJPWdhXYCyRoVnFkkbS0VN0Ftug/viewform?usp=sf_link

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






DRF

Posted by ちこ