Аутентификация в API

Введение в API на Python

Chris Ramakers

Engineering Manager

Доступ к защищённым данным

Пользователь пытается получить доступ к музыкальным альбомам через клиент. Запрос отправляется через Интернет на сервер через API, но в ответ получает «401 Unauthorized».

Введение в API на Python

Доступ к защищённым данным

Пользователь получает доступ к музыкальным альбомам через клиент, указывая имя пользователя и пароль. Запрос отправляется через Интернет на сервер через API и получает ответ «200 OK», подтверждающий успешный доступ.

Введение в API на Python

Методы аутентификации

Метод Простота реализации Уровень безопасности
Базовая аутентификация ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ☆ ☆ ☆ ☆
Аутентификация по ключу/токену API ⭐ ⭐ ⭐ ⭐ ☆ ⭐ ⭐ ☆ ☆ ☆
JWT-аутентификация ⭐ ⭐ ⭐ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ☆
OAuth 2.0 ⭐ ⭐ ☆ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ⭐

 

Совет: изучите документацию используемого API, чтобы узнать, какой метод аутентификации применять!

Введение в API на Python

Базовая аутентификация

Базовая аутентификация с пакетом requests

# This will automatically add a Basic Authentication header before sending the request
requests.get('http://api.music-catalog.com', auth=('username', 'password'))
Введение в API на Python

Аутентификация по ключу/токену API

Использование параметра запроса

http://api.music-catalog.com/albums?access_token=faaa1c97bd3f4bd9b024c708c979feca
params = {'access_token': 'faaa1c97bd3f4bd9b024c708c979feca'}
requests.get('http://api.music-catalog.com/albums', params=params)

Использование заголовка авторизации "Bearer"

headers = {'Authorization': 'Bearer faaa1c97bd3f4bd9b024c708c979feca'}
requests.get('http://api.music-catalog.com/albums', headers=headers)
Введение в API на Python

Давайте потренируемся!

Введение в API на Python

Preparing Video For Download...