Аутентификация к защищённому endpoint через Basic Auth без отправки запроса

Сформируйте Authorization: Basic с Base64 от строки username:password. Подготовка заголовка не отправляет HTTP-запрос.

Короткий ответ

Что ответить на собеседовании

Сформируйте Authorization: Basic с Base64 от строки username:password. Подготовка заголовка не отправляет HTTP-запрос.

Подробный разбор

Ответ с пояснениями

Условие

Endpoint защищён и требует проверки подлинности с помощью схемы Basic Auth. Необходимо показать, как сформировать необходимые заголовки для доступа к такому endpoint, используя заранее заданные в коде имя пользователя и пароль, при этом запрос к серверу не отправляется.

Ответ

Сформируйте Authorization: Basic с Base64 от строки username:password. Подготовка заголовка не отправляет HTTP-запрос.

Для демонстрационных ASCII-данных:

import base64

username = 'demo_user'
password = 'demo_password'
credentials = f'{username}:{password}'.encode('ascii')
token = base64.b64encode(credentials).decode('ascii')
headers = {'Authorization': f'Basic {token}'}

В этом коде нет сетевого вызова. Base64 — кодирование, а не шифрование: заголовок позволяет восстановить пароль, поэтому его нельзя логировать или публиковать. Реальная передача допускается только по HTTPS, а пароль следует получать из защищённой конфигурации, не хранить в репозитории. Для не-ASCII символов нужно согласовать кодировку с сервером; двоеточие в имени пользователя недопустимо.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее