🔑APIの認証方法入門:Basic認証とBearerトークン認証の使い方

post-cover

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の認証方法について記事を書きました! 実務をする上で、これらの基本的な認証方法をマスターすることは必須なのでぜひトライしてみてください^^


Profile picture
michael ☻︎ 🇯🇵
Web Engineer(PHP/Laravel, Python/FastAPI/Flask, TypeScript/Vue/React, AWS/GCP, etc.) / Freelance /
Profile picture
michael ☻︎ 🇯🇵
Web Engineer(PHP/Laravel, Python/FastAPI/Flask, TypeScript/Vue/React, AWS/GCP, etc.) / Freelance /
FebMarAprMayJunJul
© 2024, PWE