API-ключи и Bearer
Урок 43 из 47 курса Сетевое взаимодействие в терминале на Coddy.
Большинство API идентифицируют вас с помощью заголовка, а не формы входа. Обычно это выглядит так:
curl -s -H 'Authorization: Bearer YOUR_TOKEN' http://127.0.0.1:9132/meBearer означает именно то, что следует из этого слова: тот, кто предъявляет этот токен, считается вами. Никаких дополнительных проверок, пароля или второго фактора нет. Утёкший токен означает скомпрометированную учётную запись, пока токен не будет отозван.
Это влияет на то, как с ним следует обращаться. Токен в URL оказывается в истории браузера и журналах сервера, поэтому его следует помещать в заголовок. Токен в команде оболочки оказывается в истории оболочки, поэтому реальные скрипты считывают его из переменной окружения, а не жёстко задают в коде.
Некоторые API используют заголовок с другим названием, например X-API-Key. Механика та же: секретная строка в заголовке, отправляемая с каждым запросом.
Задание
СложноОтправьте токен и убедитесь, что он прибыл без изменений.
- Запустите слушатель захвата на порту 9132
- Отправьте запрос к
/meс заголовкомAuthorization: Bearer t0ken - Выведите строку авторизации из
req.txt
Ожидаемый вывод:
Authorization: Bearer t0kenПопробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сетевое взаимодействие в терминале
3Порты и сокеты
Что такое портХорошо известные портыЛокальный хостПрослушивание и подключениеПовторение: порты6curl в деталях
Просмотр заголовковСохранение ответовПользовательские заголовкиСтатус и время выполненияКоды выхода curlПовторение: флаги curl9Аутентификация и отладка
API-ключи и BearerUser-AgentТайм-ауты и повторные попыткиАнализ ошибкиПовторение: отладкаПотренируйтесь самостоятельно: Песочница Terminal