Как сбросить пароль с помощью django rest framework SessionAuthentication - PullRequest
0 голосов
/ 28 сентября 2018

Я создаю API для мобильного приложения.Мобильный клиент имеет полную поддержку файлов cookie, поэтому я хочу использовать SessionAuthentication .После обучения Django rest framework как бы вы сконфигурировали API и взаимодействовали с ним для сброса пароля пользователя?

Я знаю, что Django выставляет эти пути

accounts/login/ [name='login']
accounts/logout/ [name='logout']
accounts/password_change/ [name='password_change']
accounts/password_change/done/ [name='password_change_done']
accounts/password_reset/ [name='password_reset']
accounts/password_reset/done/ [name='password_reset_done']
accounts/reset/<uidb64>/<token>/ [name='password_reset_confirm']
accounts/reset/done/ [name='password_reset_complete']

Примечание. Я не использую BasicAuthentication, я использую SessionAuthentication.Какие http-запросы должен делать мобильный клиент?

1 Ответ

0 голосов
/ 28 сентября 2018

Чтобы использовать встроенные в Django потоки аутентификации с использованием SessionAuthentication, вы должны использовать браузер.См. Warning: Always use Django's standard login view when creating login pages. This will ensure your login views are properly protected. http://www.django -rest-framework.org / api-guide / authentication / # sessionauthentication

В приложении для телефона вам не нужно беспокоиться о межсайтовом скриптинге, поэтомуможно использовать аутентификацию токена и хранить токен на телефоне.

Вы все равно захотите использовать SessionAuthentication для просмотра API-интерфейса Django-Rest-Framework.Не забудьте принудительно установить HttpOnly cookie-файлы и отключить API-интерфейсы, доступные для просмотра.Позже вы можете создать одностраничное приложение, которое использует тот же подход, что и мобильное приложение, но гарантирует, что все токены хранятся в виде безопасных файлов cookie.

Для сброса потока паролей в drf try https://github.com/anx-ckreuzberger/django-rest-passwordreset

...