Skip to content

OIDC 1.0トークン交換処理

OIDC 1.0で定められた認可やトークン更新処理を行う(各種トークンを返却する)

POST {token_endpoint}
キー
Content-Typeapplication/x-www-form-urlencoded

リクエストボディ(grant_type: authorization_code

Section titled “リクエストボディ(grant_type: authorization_code)”
キー 形式 必須 説明 値の例
grant_type authorization_code(固定値)YES

付与タイプ

authorization_code
client_id 文字列YES

OAuth 2.0クライアント識別子

client-00000001
client_secret 文字列YES

OAuth 2.0クライアントシークレット

BrRsFFh41tozvc4L1-F8PnqtcSYZEONb_g-roJjwBfly3bYHq2_ro8gw33EBKSEU3ntlKtUKeOZaCZxUefEoUKWNuprBTBJYkcbMPHGvSrma-2RNuUtq9hoNiYipkcji
code 文字列YES

認可処理でクライアントが取得した認可コード

xJ1pprG9aRO8WYesHQXc7t7jBb8XBhMjbHcw8s1YT_zrSKxWdZFs-qKv51l0dK9ufodw0RLQkIZerPGEcl5GFiaFR8vN0nSKh8UgSvdU4YbIKxydQgOcaTHWA3i10EqZ
redirect_uri 文字列YES

認可コードが返却されたリダイレクションURL
(認可処理でクライアントが指定したものと同一の文字列)

https://sample-app.upward.com/callback
code_verifier 文字列YES

PKCEで使用するランダムな文字列

dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk

リクエストボディ(grant_type: refresh_token

Section titled “リクエストボディ(grant_type: refresh_token)”
キー 形式 必須 説明 値の例
grant_type refresh_token(固定値)YES

付与タイプ

refresh_token
client_id 文字列YES

OAuth 2.0クライアント識別子

client-00000001
client_secret 文字列YES

OAuth 2.0クライアントシークレット

BrRsFFh41tozvc4L1-F8PnqtcSYZEONb_g-roJjwBfly3bYHq2_ro8gw33EBKSEU3ntlKtUKeOZaCZxUefEoUKWNuprBTBJYkcbMPHGvSrma-2RNuUtq9hoNiYipkcji
refresh_token 文字列YES

クライアントが取得したリフレッシュトークン

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc3NDM0Njk2OCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.OYPKuLKBoAuLYwzrYPwp9U2_zLO_hU46SD2n7bZFuIc

200 : OK

キー
Content-Typeapplication/json

レスポンスボディ(grant_type: authorization_code

Section titled “レスポンスボディ(grant_type: authorization_code)”
フィールド 形式 必須 説明 値の例
token_type Bearer(固定値)YES

トークンタイプ

Bearer
access_token 文字列YES

アクセストークン

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc1OTM5NDkwOCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.wRRaNDylg65bSayu5QHmWaYe2CQ_Gn7bgeKXilFgvL0
id_token 文字列YES

IDトークン

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFraXJhLW9zaGlyb0BleGFtcGxlLmNvbSIsImlhdCI6MTc1ODc5NDk2OCwiZXhwIjoxNzU5Mzk0OTA4LCJhdWQiOiJodHRwczovL2FwcC51cHdhcmQuanAiLCJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJzdWIiOiIyMzI4MTBjZi03N2MxLTRlYjgtYjdiMi0xNmNlMWU1MTRmMDkifQ.HNYapda4s4dRZQHIcw-wxFVbtcLLLO0F7Pgnhk1LCxQ
refresh_token 文字列YES

リフレッシュトークン

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc3NDM0Njk2OCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.OYPKuLKBoAuLYwzrYPwp9U2_zLO_hU46SD2n7bZFuIc
expires_in 整数値YES

アクセストークンの有効期限(秒)

600
{
  "token_type": "Bearer",
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc1OTM5NDkwOCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.wRRaNDylg65bSayu5QHmWaYe2CQ_Gn7bgeKXilFgvL0",
  "id_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFraXJhLW9zaGlyb0BleGFtcGxlLmNvbSIsImlhdCI6MTc1ODc5NDk2OCwiZXhwIjoxNzU5Mzk0OTA4LCJhdWQiOiJodHRwczovL2FwcC51cHdhcmQuanAiLCJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJzdWIiOiIyMzI4MTBjZi03N2MxLTRlYjgtYjdiMi0xNmNlMWU1MTRmMDkifQ.HNYapda4s4dRZQHIcw-wxFVbtcLLLO0F7Pgnhk1LCxQ",
  "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc3NDM0Njk2OCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.OYPKuLKBoAuLYwzrYPwp9U2_zLO_hU46SD2n7bZFuIc",
  "expires_in": 600
}

レスポンスボディ(grant_type: refresh_token

Section titled “レスポンスボディ(grant_type: refresh_token)”
フィールド 形式 必須 説明 値の例
token_type Bearer(固定値)YES

トークンタイプ

Bearer
access_token 文字列YES

アクセストークン

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc1OTM5NDkwOCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.wRRaNDylg65bSayu5QHmWaYe2CQ_Gn7bgeKXilFgvL0
refresh_token 文字列YES

リフレッシュトークン

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc3NDM0Njk2OCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.OYPKuLKBoAuLYwzrYPwp9U2_zLO_hU46SD2n7bZFuIc
expires_in 整数値YES

アクセストークンの有効期限(秒)

600
{
  "token_type": "Bearer",
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc1OTM5NDkwOCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.wRRaNDylg65bSayu5QHmWaYe2CQ_Gn7bgeKXilFgvL0",
  "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTg3OTQ5NjgsImV4cCI6MTc3NDM0Njk2OCwiYXVkIjoiaHR0cHM6Ly9hcHAudXB3YXJkLmpwIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIiwic3ViIjoiMjMyODEwY2YtNzdjMS00ZWI4LWI3YjItMTZjZTFlNTE0ZjA5In0.OYPKuLKBoAuLYwzrYPwp9U2_zLO_hU46SD2n7bZFuIc",
  "expires_in": 600
}
  • OIDC 1.0トークンエンドポイント仕様(OAuth 2.0の拡張)、および、PKCEの仕様に従い実装してください