Есть ли идея получить токен jwt в django? - PullRequest
0 голосов
/ 17 июня 2020

Я делаю свой собственный проект. общение python программа - django сервер. во-первых, когда программа отправляет информацию о регистрации (например, имя, пароль, идентификатор и т. д. c.), сервер возвращает сигнал успеха. следующий шаг - когда программа отправляет информацию для входа в систему (например, имя, пароль), сервер возвращает токен jwt, а программа получает токен jwt. Я пробую все, что знаю ... но не знаю, как вернуть токен jwt в программу python. есть идеи?

1 Ответ

0 голосов
/ 18 июня 2020

Предполагая, что у вас уже есть правильный способ правильно сгенерировать токен:

  • создайте конечную точку для входа в систему с учетными данными (обратите внимание на csrf_exempt, чтобы разрешить вызовы POST из вашей программы)
path('/login', csrf_exempt(login)) )
  • создать представление для обработки запроса - чтобы защитить учетные данные, ожидайте их как полезную нагрузку запроса POST:
@require_POST
def login(request):
  username = request.data.get('username', None)
  password = request.data.get('password', None)
  if username is None:
    return HttpResponseBadRequest('username is missing')
  if password is None:
    return HttpResponseBadRequest('password is missing')

  # validate the user/credentials
  your_function_to_validate(username, password)

  jwt =  your_function_to_generate_and_save_the_JWT(username, password)
  return HttpResponse(jwt)
  • вызов конечной точки с помощью программы Python:
url = base_url + '/login'

credentials = {
    'username': 'admin',
    'password': '12345'
}
res = post(url, data=credentials)

if res.status_code != 200:
    # deal with bad credentials
    pass

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