本文へスキップ
Sursa Developers

POST/oauth/token

OAuth 2.0のトークンを発行する

oauth_token

OAuth 2.0のトークンエンドポイント(RFC 6749、3.2節)。grant_type:authorization_codeは1回限りのコードをトークンのペアと交換し、code_verifier(PKCE S256)が必要です。refresh_tokenはリフレッシュトークンに対して新しいペアを発行し、以前のリフレッシュトークンを無効にします(ローテーション)。無効になったものを再利用すると、チェーン全体が取り消されます。client_credentialsは組織の代理としてトークンを発行します。confidentialのアプリ専用で、リフレッシュトークンは付きません。confidentialのクライアントは、Authorization: Basicヘッダー、またはclient_idとclient_secretのフィールドで認証します。パブリッククライアントはclient_idだけを送ります。アクセストークンの有効期間は1時間、リフレッシュトークンは90日です。レスポンスとエラーはRFC 6749の5節に従い、Cache-Control: no-storeが付きます。1.62.0で追加されました。

認証

認証情報は不要です。

リクエストボディ

application/x-www-form-urlencoded

オブジェクト:OAuthTokenRequest

  • grant_typestring必須

    指定できる値: authorization_coderefresh_tokenclient_credentials

  • codestring

    認可コード(authorization_code)。

  • redirect_uristring

    認可リクエストと同じリダイレクトURI(authorization_code)。

  • code_verifierstring

    PKCEの元の値。43〜128文字(authorization_code)。

  • refresh_tokenstring

    リフレッシュトークン(refresh_token)。

  • scopestring

    スペース区切りのスコープ。絞り込みのみ可能です(refresh_token、client_credentials)。

  • client_idstring

    アプリのID。シークレットをAuthorization: Basicヘッダーで渡さない場合に指定します。

  • client_secretstring

    confidentialアプリのクライアントシークレット。Authorization: Basicヘッダーで渡さない場合に指定します。

レスポンス

200トークンが発行されました。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

application/json

オブジェクト:OAuthTokenResponse

  • access_tokenstring必須

    Authorization: Bearerヘッダーに使うアクセストークン(kbat_…)。

  • token_typestring必須

    指定できる値: Bearer

  • expires_ininteger必須

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

  • refresh_tokenstring

    リフレッシュトークン(kbrt_…)。client credentialsの場合はありません。

  • scopestring必須

    トークンのスコープ(スペース区切り)。

400RFC 6749の5.2節で定義されたエラー。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

401クライアントの認証情報が無効です(`invalid_client`)。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

安全な再試行

POSTとPATCHのたびにIdempotency-Keyヘッダー(UUIDなど)を送信してください。24時間以内に同じキーで再試行すると、リクエストをもう一度実行せずに、保存済みのレスポンスが返ります。

レート制限

レスポンスには、RateLimitヘッダーとRateLimit-Policyヘッダー、以前のX-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetが含まれます。429レスポンスにはRetry-After(秒)が含まれます。その時間だけ待ってから再試行してください。

← oauth · APIリファレンス