API認証

Python で学ぶ API 入門

Chris Ramakers

Engineering Manager

機微なデータへのアクセス

クライアント経由で音楽アルバムにアクセスしようとするユーザー。要求はAPIを通じてインターネット経由でサーバーへ送られるが、「401 Unauthorized」が返る。

Python で学ぶ API 入門

機微なデータへのアクセス

クライアントでユーザー名とパスワードを入力して音楽アルバムにアクセスするユーザー。要求はAPIを通じてサーバーへ送られ、「200 OK」が返ってアクセス成功を示す。

Python で学ぶ API 入門

認証方式

方法 実装の容易さ セキュリティ評価
Basic認証 ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ☆ ☆ ☆ ☆
APIキー/トークン認証 ⭐ ⭐ ⭐ ⭐ ☆ ⭐ ⭐ ☆ ☆ ☆
JWT認証 ⭐ ⭐ ⭐ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ☆
OAuth 2.0 ⭐ ⭐ ☆ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ⭐

 

ヒント: 利用するAPIのドキュメントで、使用すべき認証方式を確認しましょう。

Python で学ぶ API 入門

Basic認証

requestsパッケージでのBasic認証

# 送信前に自動でBasic認証ヘッダーを追加します
requests.get('http://api.music-catalog.com', auth=('username', 'password'))
Python で学ぶ API 入門

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)
Python で学ぶ API 入門

演習に進みましょう

Python で学ぶ API 入門

Preparing Video For Download...