Как вы получаете параметры аутентификации из запроса POST? - PullRequest
1 голос
/ 17 октября 2019

Я отправляю запрос POST самому себе:

requests.post("http://localhost:8000/api/", json=data, auth=('myuser', 'mypwd'))

Я использую Django для получения запроса POST. Я хочу подтвердить, что имя пользователя и пароль совпадают с тем, что у меня есть.

def myAPI(request)
    if request.method == 'POST':

          # obtain username and password here

Как я могу получить имя пользователя и пароль в виде обычного текста? Я пробовал request.body.decode(), request.POST.items(), request.META - просто не могу его найти! Я мог бы отправить учетные данные в data, и это было бы легко. Кроме того, я могу использовать ключ API вместо имени пользователя и пароля, но я не знаю, как получить к нему доступ.

1 Ответ

0 голосов
/ 17 октября 2019

Это будет работать для вас:

req_header = request.META['HTTP_AUTHORIZATION']
credentials = auth_header.split(' ')[1]
base64_decoded_credentials = base64.b64decode(encoded_credentials)
decoded_utf_credentials = base64_decoded_credetials.decode("utf-8").split(':')
username = decoded_utf_credentials[0]
password = decoded_utf_credentials[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...