Предполагая, что у вас уже есть правильный способ правильно сгенерировать токен:
- создайте конечную точку для входа в систему с учетными данными (обратите внимание на 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