бекенды.
Почему бы не вызвать метод authenticate конкретного beackend-а?
Если так сделано, значит так надо
потому что их может быть несколько
@id6598477 Nire мне ответил, но для чего их может быть несколько?
@dmake Тогда, для чего эта функция, я знаю что она перебирает бекенды, в каких целях она применяется
ну это разные вещи. Твоя вьюха отдаёт тебе куку или что там у тебя, токен например. Дальше ты её куда-то в браузере тулишь. Это всё ещё не касается твоим auth бекендов. Они работают, когда ты запрос делаешь
Мне интересно, практический пример использования authenticate
Ну какой пример? У тебя есть несколько разных вьюх под каждый тип токена. Ты получил какой-нибудь Bearer токен для jwt, отдал его фронту. Тот каждый запрос оборачивает этим токеном. Каждый запрос при попадании в джангу натыкается на твои auth backend и проверяет, всё ли в порядке с твоим токеном
Так вот к чему и вопрос. Почему нельзя в каждой view использовать конкретный бек на прямую
в какой вьюхе? Ты можешь в принципе, я делал как-то для некоторых вьюх специальные пермишен классы, которые требовали наличия определённого токена в заголовке. А так, какая тебе разница? Тебе ведь нужно знать, что это тот самый пользователь
Бэкенды скорее всего подвязаны на 'django.contrib.auth',
я тысячу лет не писал на голой джанге, но да. Вообще для DRF ты просто отдаёшь куку, а какая это кука, для какого бэка и куда её вставлять - дело фронта. Не понимаю обсуждения, потерял нить (всё таки, пятница, ещё и Рождество. Кстати всех с Рождеством!)
Ладно, явно нужна практика Happy Christmas
Всё очень просто с аутентификацией. Есть точка А, которая даёт тебе какую-то куку. Есть точка Б, которая даёт токен. Всё, точкам А и Б не интересно, что ты с ними будешь делать. Дальше, когда ты стучишься к точкам Ю и Я (которые требуют авторизации), ты в заголовок своего запроса вставляешь свою куку, или токен (или что там у тебя). Эти заголовки попадают в твой auth backend. Там джанга смотрит, ты ли это и если ты - пускает дальше. Если нет, говорит пользователь не авторизован
Я просто видел такую запись user = authenticate(password =, emeil =) И такую user =BackEnd.authenticate() В одно м случае к конкретному беку обращаются на прямую
так а разве не будет работать если не передавать бек в аргументы?
Должно вернуть None
По идее
Смотря какие аргументы не передавать
Вообще ничего
Эксепшн будет
Я так понял, речь о том, если при регистрации пользователь не введет данные, а просто нажмет отправить. По идее его должно перенаправить на ту же пустую форму
Или надпись, заполните это поле
Обсуждают сегодня