すべてのプロダクト
Search
ドキュメントセンター

:GenerateToken

最終更新日:Mar 30, 2026

指定された IDaaS インスタンス内のアプリケーションに対して、認証情報に基づいてアクセストークンを生成します。

操作説明

次のメソッドがサポートされています: 認証コード、デバイスフロー、リフレッシュトークン、クライアントクレデンシャル、パスワード。

1. 認証コード

シナリオ:これは標準的な OAuth 2.0 認証コードフローであり、フロントエンドでのインタラクションを伴う Web アプリケーションに適しています。呼び出し例:

POST /v2/{instanceId}/{applicationId}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&code={authorization_code}
&redirect_uri={redirect_uri}
&client_id={client_id}
&client_secret={client_secret}

パラメーター:

● code: 認証エンドポイントから取得した認証コード。

● redirect_uri: 認証コードを取得するために使用された `redirect_uri` と同じである必要があります。

1.1 パブリッククライアントの認証コード

シナリオ:このシナリオは、シングルページアプリケーション (SPA) やネイティブアプリなど、シークレットを安全に保存できないアプリケーションに適しています。このフローでは `client_secret` は不要ですが、Proof Key for Code Exchange (PKCE) メカニズムを使用する必要があります。呼び出し例:

POST /v2/{instanceId}/{applicationId}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&code={authorization_code}
&redirect_uri={redirect_uri}
&client_id={client_id}
&code_verifier={code_verifier}

パラメーター:

● code_verifier: PKCE メカニズムのコードベリファイア。クライアントは認証リクエストを開始する際にこれを生成し、`code_challenge` を導出するために使用します。トークンと交換する際には、この値を送信する必要があります。これは `code_challenge` を生成するために使用された値と同一である必要があります。

Java で `code_verifier` と `code_challenge` を生成する例:

String codeVerifier = Base64.getUrlEncoder().withoutPadding().encodeToString(new SecureRandom().generateSeed(43));
String codeChallenge = Base64.getUrlEncoder().withoutPadding().encodeToString(java.security.MessageDigest.getInstance("SHA-256").digest(codeVerifier.getBytes()));

2. デバイスフロー

シナリオ:このシナリオは、TV や IoT デバイスなど、入力制約のあるデバイスに適しています。呼び出し例:

POST /v2/{instanceId}/{applicationId}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:device_code
&device_code={device_code}
&client_id={client_id}
&client_secret={client_secret}

デバイスコードを取得するには、まず /oauth2/device/code を呼び出して `device_code` と `user_code` を取得します。

2.1 パブリッククライアントのデバイスフロー

シナリオ:このシナリオは、対話型ログインが不便な場合や、クライアントがパブリッククライアントである場合に使用されます。呼び出し例:

POST /v2/{instanceId}/{applicationId}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:device_code
&device_code={device_code}
&client_id={client_id}

3. リフレッシュトークン

シナリオ:このシナリオでは、`refresh_token` を使用して新しいアクセストークンを取得します。呼び出し例:

POST /v2/{instanceId}/{applicationId}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&refresh_token={refresh_token}
&client_id={client_id}
&client_secret={client_secret}

4. クライアントクレデンシャル

シナリオ:このシナリオは、ユーザーの関与なしにサーバー間認証を行うためのものです。呼び出し例:

POST /v2/{instanceId}/{applicationId}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id={client_id}
&client_secret={client_secret}
&scope={scope}

5. パスワード

シナリオ:このシナリオでは、従来のユーザー名とパスワードによる認証を使用します。このメソッドは注意して使用してください。呼び出し例:

POST /v2/{instanceId}/{applicationId}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=password
&username={username}
&password={password}
&client_id={client_id}
&scope={scope}

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

この操作の認証情報はありません。問題が発生した場合は、アカウントマネージャーにご連絡ください。

リクエスト構文

POST /v2/{instanceId}/{applicationId}/oauth2/token HTTP/1.1

パスパラメータ

パラメーター

必須 / 任意

説明

instanceId

string

必須

インスタンス ID。

idaas_ue2jvisn35ea5lmthk267xxxxx

applicationId

string

必須

アプリケーション ID。

app_mkv7rgt4d7i4u7zqtzev2mxxxx

リクエストパラメーター

パラメーター

必須 / 任意

説明

client_id

string

任意

クライアント ID。

app_mkv7rgt4d7i4u7zqtzev2mxxxx

client_secret

string

任意

クライアントシークレット。`grant_type` が `client_credentials` で `client_secret_post` メソッドが使用される場合に、このパラメーターは必須です。

CSEHDcHcrUKHw1CuxkJEHPveWRXBGqVqRsxxxx

grant_type

string

必須

認証グラントタイプ。次のタイプがサポートされています:

  • `client_credentials`: クライアントクレデンシャルグラント。`client_id` と `client_secret` が必要です。

  • `refresh_token`: リフレッシュトークングラント。

  • `authorization_code`: 認証コードグラント。

  • `urn:ietf:params:oauth:grant-type:device_code`: デバイスフロー。

  • `password`: パスワードグラント。

client_credentials

code

string

任意

認証コード。`grant_type` が `authorization_code` の場合に、このパラメーターは必須です。

xxxx

username

string

任意

ユーザー名。パスワードグラントタイプの場合、このパラメーターは必須です。

uesrname_001

password

string

任意

ユーザー名。このパラメーターは、パスワードモードで必須です。

xxxxxx

device_code

string

任意

デバイスコード。`grant_type` が `urn:ietf:params:oauth:grant-type:device_code` (デバイスフロー) の場合に、このパラメーターは必須です。

xxxx

redirect_uri

string

任意

リダイレクト URI。認証コードグラントタイプの場合、このパラメーターは必須です。認証コードを取得するためのリクエスト内のリダイレクト URI と一致する必要があります。

xxx

refresh_token

string

任意

リフレッシュトークン。`grant_type` が `refresh_token` (リフレッシュトークングラント) の場合に、このパラメーターは必須です。

ATxxx

code_verifier

string

任意

コードベリファイア。PKCE が有効な場合の認証コードグラントタイプで使用されます。

xxx

exclusive_tag

string

任意

除外タグ。

ATxxx

scope

string

任意

スコープ。このパラメーターはオプションです。複数の値がサポートされています。複数の値はスペースで区切ります。有効な値:

  • openid

  • email

  • phone

  • プロファイル

xxxx

レスポンスフィールド

フィールド

説明

object

応答。

token_type

string

トークンタイプ。有効な値: Basic - Basic タイプ、Bearer - Bearer タイプ

列挙値:

  • Basic :

    Basic

  • Bearer :

    Bearer

Bearer

access_token

string

アクセストークン。

ATxxx

refresh_token

string

リフレッシュトークン。

RTxxx

expires_in

integer

トークンの有効期間 (秒単位)。

1200

expires_at

integer

有効期限。値は UNIX タイムスタンプ (秒単位) です。

1653288641

id_token

string

ID トークン。

xxxxx

成功レスポンス

JSONJSON

{
  "token_type": "Bearer",
  "access_token": "ATxxx",
  "refresh_token": "RTxxx",
  "expires_in": 1200,
  "expires_at": 1653288641,
  "id_token": "xxxxx"
}

エラーコード

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。