Сброс пароля в Django с rest_auth - PullRequest
1 голос
/ 09 января 2020

Я расширил PasswordResetConfirmSerializer из rest_auth.views. и шаблон URL отображается следующим образом.

urlpatterns = [
    .
    path('password/reset/confirm/<uidb64>/<token>/', PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    .
] 

В сообщении электронной почты генерируется содержимое для сброса пароля, содержащее ссылку, соответствующую приведенному выше шаблону.

Но в этом API есть поля для:

  1. new_password1

  2. new_password2

  3. uid

  4. токен

Как передать uid и токен из URL в поле записи? Или есть другой способ?

1 Ответ

0 голосов
/ 09 января 2020

TL; DR Просто не используйте эту конечную точку. Слишком много JS для использования. Попробуйте django -allauth.

Как правило, для приложения REST API, подтверждение электронной почты для регистрации и сброса пароля ожидается в браузере. Отказ от ответственности: я использую cookiecutter django, который поставляется с django -allauth, и я использовал регистрацию и авторизацию rest-auth. Я использовал ссылку для сброса пароля, но не использовал URL-адрес подтверждения, поскольку использование JS в электронном письме для получения токена и идентификатора ссылки для подтверждения и перевода его в другой запрос с помощью JS, к сожалению, не требуется. Sp просто используйте django -allauth вместо этого.

Я имею в виду ... ну, я полагаю, если вы взломали шаблоны rest-auth и добавили uid и токен, то вы могли бы попросить пользователя скопировать uid и токен в ваше мобильное приложение, а затем попросите пользователя ввести новый пароль. Но это разрушает UX, поэтому просто не используйте эту конечную точку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...