アクセス・トークン・フローの作成
投稿
/oauth2/rest/token
リクエスト
サポートされているメディア・タイプ
- application/x-www-form-urlencoded
問合せパラメータ
- identityDomain: string
トークンをリクエストしているアイデンティティ・ドメイン。'x-oauth-identity-domain-name'ヘッダー・パラメータが指定されている場合、これはオプションのパラメータです。
ヘッダー・パラメータ
- authorization(required): string
clientID:secretのBase64でエンコードされたヘッダー。これは機密クライアントの認証メカニズムです。このヘッダーまたはClientAssertionTokensを通じてクライアント認証を指定できます。これらのメカニズムのいずれかを使用する必要があります。
- x-oauth-identity-domain-name(required): string
トークンをリクエストしているアイデンティティ・ドメイン。
フォーム・パラメータ
- assertion: string
ユーザー・アサーション・トークン。GrantTypeがJWT_BEARERの場合は必須パラメータです。
- client_assertion: string
クライアント・アサーション・トークン。クライアント・アサーション・メカニズムがClientAssertionTokenを介している場合、これは必須です。これが渡されると、認可ヘッダーは必要ありません。
- client_assertion_type: string
クライアント・アサーションのタイプ。クライアント・アサーション・メカニズムがClientAssertionTokenを介している場合、これは必須です。これが渡されると、認可ヘッダーは必要ありません。指定可能な値:
[ "JWT_BEARER", "urn:ietf:params:oauth:client-assertion-type:jwt-bearer" ]
- code: string
取得された認可コード。GrantTypeがAUTHORIZATION_CODEの場合は必須パラメータです。
- grant_type(required): string
アクセス・トークン・リクエストの権限タイプ指定可能な値:
[ "CLIENT_CREDENTIALS", "AUTHORIZATION_CODE", "PASSWORD", "JWT_BEARER", "REFRESH_TOKEN" ]
- password: string
リソース所有者のパスワード。GrantTypeがPASSWORDの場合は必須パラメータです。
- redirect_uri: string
リダイレクトURI。GrantTypeがAUTHORIZATION_CODEの場合は必須パラメータです。
- refresh_token: string
新しいアクセス・トークンを生成するために再生されるリフレッシュ・トークン。GrantTypeがREFRESH_TOKENの場合は必須パラメータです。
- scope: string
アクセス・トークンでリクエストされたスコープ。REFRESH_TOKENフローでは、指定されていない場合にRefreshTokenの値がデフォルト設定されます。JWT_BEARERフロー・アクセス・トークンがUserInfoに関連するスコープをリクエストする場合、サポートされるスコープはUserInfo.me、UserInfo.email、UserInfo.profile、UserInfo.addressまたはUserInfo.phoneです。デフォルト値:
DefaultScope defined for Client
- username: string
リソース所有者のユーザー名。GrantTypeがPASSWORDの場合は必須パラメータです。
レスポンス
サポートされているメディア・タイプ
- application/json
200 レスポンス
アクセス・トークンが正常に生成されました
ルート・スキーマ: AccessToken
型:
ソースを表示
object
- access_token: string
生成されたアクセス・トークン
- expires_in: integer
アクセス・トークンが失効する前の時間
- refresh_token: string
有効な場合、リフレッシュ・トークンが生成されます。GrantType - AUTHORIZATION_CODEおよびPASSWORDの場合のみ、これも生成されます
- token_type: string
生成されたトークンのタイプ。例:- Bearer
400 レスポンス
不正なリクエスト
ルート・スキーマ: ErrorCode
型:
ソースを表示
object
- errorCode: string
生成されたエラー・コード
- errorDesc: string
翻訳されたエラーの説明
- secErrorDesc: string
セカンダリ・エラー・メッセージ
例
次のcURLコマンドは、アクセス・トークンを作成するためのサーバーに対するサンプル・リクエストを示しています。リクエスト本文にclient_id=OAAClient
およびclient_secret=xxx
が含まれています。
POSTリクエストURL、ユーザー名、パスワード、スコープ、client_idおよびclient_secretを、特定の設定と一致するように更新してください。
ユース・ケース1: grant_type=PASSWORD
$ curl -i "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" -H "X-OAUTH-IDENTITY-DOMAIN-NAME: OAADomain" --request POST http://oam01.example.com:xxxxx/oauth2/rest/token -d 'grant_type=PASSWORD&username=al.xxxx&password=xxx&scope=OAAResource.viewResource&client_id=OAAClient&client_secret=xxx'
サンプル・レスポンス
{"access_token":"eyJrxxxxhHJc1GT4Q","token_type":"Bearer","expires_in":3600,"scope":"OAAResource.viewResource"}
ユース・ケース2: grant_type=CLIENT_CREDENTIALS
$ curl -i "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" -H "X-OAUTH-IDENTITY-DOMAIN-NAME: OAADomain" --request POST http://oam01.example.com:xxxxx/oauth2/rest/token -d 'grant_type=CLIENT_CREDENTIALS&scope=OAAResource.viewResource&client_id=OAAClient&client_secret=xxx'
サンプル・レスポンス
{"access_token":"eyJr<snip>eJNdLg1By-6LyuQ","token_type":"Bearer","expires_in":3600,"scope":"OAAResource.viewResource"}