APIの認証方法について解説
APIリクエストに認証情報を含める方法はいくつかありますが、今回は最も一般的な2つの方法を紹介します。
プログラミング初学者の方は、まずはこの2つはマストで覚えてください。
基本認証(Basic認証)
Basic認証は、ユーザー名とパスワードを組み合わせて、認証する方法です。ユーザー名とパスワードはコロン(:)で結合され、Base64形式でエンコードされた値をクレデンシャル(認証情報のデータ)として送信します。
わかりやすいようにpython のサンプル
username = "user"
password = "password"
# ユーザー名とパスワードをコロンで結合した文字列
creds = f"{username}:{password}"
# auth をbase64でエンコード
creds_base64 = base64.b64encode(auth_bytes)
headers = { "Authorization": f"Basic {creds_base64}" }
Bearer トークン認証
Bearerは「ベアラー」と読みます。Beareトークン認証は、主にOAuth 2.0 で一般的です。OAuth 2.0 は比較的新しい、現在主流の認証方法なんだなーと思ってもらえればOKです。 トークンはアクセストークンとして機能し、リクエストヘッダーにAuthorizationとして含められます。
アクセストークンは、サーバー側で発行します。 API実行前にアクセストークンを取得し、取得したアクセストークンをヘッダーのAuthorizationに含めて、リクエストします。
import requests
# Bearerトークン
token = # トークン取得用APIを実行して、トークンを取得する。
# APIエンドポイント
url = 'https://api.example.com/data'
# リクエストヘッダーにトークンを含める
headers = {
'Authorization': f'Bearer {token}'
}
# リクエスト送信
response = requests.get(url, headers=headers)
# レスポンス内容の表示
print(response.text)
まとめ
今回はAPIの認証方法について記事を書きました! 実務をする上で、これらの基本的な認証方法をマスターすることは必須なのでぜひトライしてみてください^^