#python-3.x #django #django-rest-framework #access-token
Вопрос:
Этот вопрос может показаться глупым, но я хочу получить некоторые разъяснения. Я создаю приложение Django rest framework в самый первый раз. Я могу настроить конечные точки api для приложения. И когда я регистрирую пользователя, он получает токен. И когда я регистрирую пользователя через почтальона, он возвращает токен. Но в приложении реального мира, как клиент получает токен drf, который возвращается в виде данных json, необходимых для входа в систему. Получает ли он его по электронной почте, которую использовал для регистрации? Кроме того, если пользователь получает токен, должен ли я создать другой API, содержащий поле, через которое пользователь в конечном итоге отправляет токен, прежде чем получить доступ к веб-сайту? Пожалуйста, я был бы признателен, если бы я также получил хороший материал, который подробно и просто объясняет процесс.
Ответ №1:
В документации очень четко указано, как должны использоваться токены.
если вы используете аутентификацию по токенам, при регистрации нового пользователя в таблице токенов создается уникальный токен. Когда вы войдете в систему, вы получите токен с сервера. Что касается сервера, то если вы вызываете какой-либо API с токеном в заголовке, пользователь считается вошедшим в систему. Если вы вызовете какой-либо API без маркера (для API, которые этого требуют), в ответе вы получите сообщение «Не вошел в систему».
Комментарии:
1. Большое спасибо @Rohan Abraham. Ты прав. Я использую токен аутентификации. Я вижу токен, сгенерированный при регистрации каждого человека. И когда человек хочет войти в систему, он использует токен. Я могу сделать все это с помощью почтальона. Но я спрашиваю о том, что, если я отправлю конечную точку API регистрации и входа в приложение frontent, когда зарегистрированный пользователь войдет в систему со своими данными, такими как адрес электронной почты и пароль, как он получит токен с сервера. Будет ли отправлен токен на его электронную почту? Я уже понимаю, как это работает в postman.