Django url сброса пароля в письме работает только если его скопировать и вставить, а не нажать на него
Когда я запрашиваю сброс пароля с помощью встроенного механизма django, он генерирует URL в письме следующим образом:
https://example/accounts/reset/MTA/atspc3-7c45df8a600243fde3dfb60c44873f15/
В gmail, если я перехожу по URL, текст индентичен, поскольку он генерируется как обычное/текстовое письмо. Если я нажимаю на ссылку в gmail или outlook, то она переходит (возможно, после перенаправления, я не могу сказать, так как это происходит очень быстро):
https://example.com/accounts/reset/MTA/set-password/
И это говорит
Password reset unsuccessful
The password reset link was invalid, possibly because it has already been used. Please request a new password reset.
Однако если я копирую и вставляю URL в браузер, то он работает. Однако никто не копирует и не вставляет URL, все нажимают на ссылку и говорят, что она не работает. Я не понимаю, почему щелчок по ссылке не работает, ведь она правильная? Как вообще можно это отладить?
На тот редкий случай, если у кого-то еще возникнет эта проблема, у меня в файле настроек было:
SESSION_COOKIE_SAMESITE = 'Strict'
Изменив его на разрешение сохранения cookie с внешнего домена (почтового клиента):
SESSION_COOKIE_SAMESITE = 'Lax' # default value
Обратитесь к https://docs.djangoproject.com/en/stable/ref/settings/#session-cookie-samesite