Я сейчас автоматом создаю пользователя на сайте получив его данные из спортивного приложения после того, как человек подтвердил авторизацию. Делаю это таким кодом:
Это решение не работает, потому что в этом случае пароль хранится в открытом виде и пользователь потом не может залогиниться. Я так понимаю из-за того, что при обычном варианте регистрации Джанго хэширует пароль, потом сравнивает вводимый пароль с его хэшем и авторизует пользователя. А при такой автоматической регистрации пароль хранится в открытом виде, Джанго при попытке логина натыкается на сам пароль вместо его хэша и выдает ошибку авторизации.
Получается, нужно или хэшировать пароль перед добавлением в базу или при авторизации заставить Джанго искать именно вводимый пароль, а не его хэш. Подскажите, пожалуйста, как реализовать любой из вариантов?
Ценности в пароле, если что никакой нет, можно их хоть все вывесить на отдельной странице сайта, поэтому я и решил хранить их в открытом виде, что опасности в этом никакой нет. Но вот столкнулся с проблемой авторизации.
Код:
user, created = User.objects.update_or_create(password = athlete_id, username: access_token)
Это решение не работает, потому что в этом случае пароль хранится в открытом виде и пользователь потом не может залогиниться. Я так понимаю из-за того, что при обычном варианте регистрации Джанго хэширует пароль, потом сравнивает вводимый пароль с его хэшем и авторизует пользователя. А при такой автоматической регистрации пароль хранится в открытом виде, Джанго при попытке логина натыкается на сам пароль вместо его хэша и выдает ошибку авторизации.
Получается, нужно или хэшировать пароль перед добавлением в базу или при авторизации заставить Джанго искать именно вводимый пароль, а не его хэш. Подскажите, пожалуйста, как реализовать любой из вариантов?
Ценности в пароле, если что никакой нет, можно их хоть все вывесить на отдельной странице сайта, поэтому я и решил хранить их в открытом виде, что опасности в этом никакой нет. Но вот столкнулся с проблемой авторизации.