AM
JA
無料で始める
メニュー
機能

バックエンド連携

バックエンドサービス向けの JWKS と OIDC Discovery によるトークン検証。

backend バックエンド jwt jwks verification トークン検証 oidc

バックエンド連携

AccountMaker(以下「AM」)は JWKS で公開鍵を、OIDC Discovery で設定情報を公開します。どの JWT ライブラリでも利用できる標準プロトコルです。

トークンをローカルで検証し、クレームを信頼してリクエストを認可します。

トークン検証フロー

AMあなたのバックエンドクライアントAMあなたのバックエンドクライアントGET /.well-known/jwks.json (cached)公開鍵リクエスト + Bearer トークンJWT署名をローカルで検証Check exp, aud, scopeレスポンス

エンドポイント

EndpointPurpose
/.well-known/jwks.json公開署名鍵
/.well-known/openid-configurationOIDC Discovery ドキュメント
/oauth2/introspectRefresh Token の検査

JWKS

ローカル検証用の公開鍵を取得します。

GET /.well-known/jwks.json
{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "kid": "key_...",
      "alg": "RS256",
      "n": "0vx7agoebG...",
      "e": "AQAB"
    }
  ]
}

ローテーション期間中は複数鍵が返る場合があります。JWT ヘッダーの kid と一致する鍵を使用してください。

OIDC Discovery

Discovery ドキュメントにより、クライアントを自動設定できます。

GET /.well-known/openid-configuration

OpenID Connect Discovery 仕様に基づき、エンドポイント、対応アルゴリズム、機能が返されます。

JWT クレーム

検証済みトークンには次が含まれます。

ClaimDescription
iss発行者 URL
subSubject(ユーザー ID または Client ID)
aud想定オーディエンス
exp有効期限(Unix timestamp)
iat発行時刻(Unix timestamp)
scope付与済み権限
cidClient ID
appApplication ID
acc現在の Account ID
uidUser ID(ユーザー認証時)
role現在の Account でのロール

キャッシュ

  • JWKS 応答をキャッシュする(ETag / If-None-Match を利用)
  • 署名検証失敗時に再取得する(鍵ローテーション対応)
  • 典型的な TTL は 1 時間

トークンイントロスペクション

Refresh Token、または厳密な検証が必要な場合に使用します。

POST /oauth2/introspect
Content-Type: application/x-www-form-urlencoded

token=...&client_id=...&client_secret=...

active: true/false とトークンクレームが返されます。Access Token は JWT のため、可能な限り JWKS によるローカル検証を推奨します。

関連