アクセス・トークン
OAuthトランザクションに成功するには、APIコールの認証に使用するアクセス・トークンを発行するために、IAMアイデンティティ・ドメイン認可サーバーが必要です。アクセス・トークンはクライアント・アプリケーションに発行される認可を表し、保護されているOAuthリソースにアクセスするために使用される資格証明が含まれます。
アクセス・トークンのセッション(スコープおよび有効期限あり)は、クライアント・アプリケーションがアイデンティティ・ドメインRESTAPIでタスクを実行するために使用できます。アクセス・トークンは、アイデンティティ・ドメイン・コンソールまたはプログラム(アプリケーション・クライアントIDおよびシークレットを使用してREST APIコールを実行)のいずれかを使用して取得できます。アプリケーションに指定された権限付与タイプに応じて、アプリケーションは様々な方法でアクセス・トークンをリクエストして保護されているエンドポイントにアクセスできます。権限付与とは、保護されているリソースにアクセスするためのリソース所有者の認可を表す資格証明です。「アクセス権限付与タイプ」を参照してください。
| 名前 | 値 |
|---|---|
tok_type*
|
トークン・タイプを識別します: AT |
iss
|
トークンを発行したプリンシパル: https://<domainURL>
|
sub
|
アクセスを要求しているエンティティ(ユーザー/クライアント)を識別します。サブジェクト識別子はローカルで一意であり、クライアントによる使用を目的としています。IDPropagationトークンの場合、これにはユーザーのユーザーIDが含まれます。その他の場合は、clientIDが含まれます。 |
sub_mappingattr*
|
IDストアでsubを検索するために使用される属性。これはSSO設定のマッピングattrです。 |
sub_type
|
アイデンティティ・ドメイン・アクセス・トークンには、トークンによって伝達されるサブジェクトのタイプ( アクセス・トークンを処理および検証するエンティティは、 |
user_id*
|
ユーザー・トークンのAuthNコンテキストからのユーザーのアイデンティティ・ドメインGUID。クライアントのみのトークンには存在しません。 |
user_displayname*
|
AuthNコンテキストからのユーザーのアイデンティティ・ドメインの表示名(最大255文字のASCII文字)。クライアントのみのトークンには存在しません。 |
user_tenantname*
|
ユーザー・テナント名(ASCII文字で最大255文字)。クロス・テナント・ユースケースのリソース・テナントと異なる場合があります。テナントGUIDは、特にトークンに保存されず、クライアント専用トークンには存在しません。 |
tenant*
|
アクセス・トークンのリクエストが実行された際のリソース・テナント名(ASCII文字の最大255文字)。リソース・テナントのGUIDは、実際にはトークンに保存されません。 |
user.tenant.name*
|
tenant.と同じです。これは、従来のコンシューマが存在しなくなるまで、下位互換性の目的でトラッキングされます。ノート:テナント名はIDドメインです。 |
aud
|
リソース・サーバーがターゲットURLのリソース・プリフィクスと照合するために必要とするURI文字列が含まれます。標準のAUD形式を使用して、複数のURI文字列を指定できます。OIDCリクエストに他のリソース・サーバーのスコープが含まれる場合も同様です。たとえば: ["https://<domainURL>/", "https://example.com"] |
iat
|
JWTが発行された時間(UNIXエポック時間)。UNIXエポック時間は、協定世界時(UTC)から日付/時刻までの秒数を表すJSON数です。1970-01-01T0:0:0Zから測定されます。 |
sid
|
アイデンティティ・トークンからのセッションIDは、トークン・リクエスト時に使用されたアイデンティティ・トークンです。 |
exp
|
JWTの期限が切れる時間(UNIXエポック時間、秒単位)。「トークン有効期限表」を参照してください。 |
scope
|
スコープが含まれるスペース区切りの文字列。 |
jti
|
サーバーで生成される、JWT IDの一意の識別子。 |
client_id*
|
OAuthクライアントID。これは、リクエストを実行するOAuthクライアントのGUIDです。Cloud Gateがリクエストを実行する場合、これはグローバルOracleテナントに定義されたOAuth CloudGateのGUIDです。 |
client_name*
|
OAuth client_name. これは、リクエストを実行するOAuthクライアントの名前です。CloudGateがリクエストを行う場合、これはグローバルoracleテナンシで定義されているCloudGate OAuthクライアントの名前です。 |
client_tenantname*
|
クライアント・テナント名(最大255文字)。クロス・テナント・ユースケースのリソース・テナントと異なる場合があります。 |
カスタム・アクセス・トークンの有効期限の指定
次のリクエストおよびレスポンスの例を使用して、アイデンティティ・ドメインに対するアクセス・トークン・リクエストでカスタム・アクセス・トークンの有効期限値を指定します。
リクエストの例
curl -k -i
-H 'Authorization: Basic dGVzdERvbWFpbkFkbWluOmZmNGUzNGE3LWVlNGQtNDAzNy1iNmNmLTUwZGVmMmNjMzM5Zg=='
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8'
--request POST 'https://<domainURL>/oauth2/v1/token'
-d 'grant_type=client_credentials&scope=urn:opc:idm:__myscopes__%20urn:opc:resource:expiry=300'
レスポンスの例
{
"access_token":"eyJ4NXQjUzIc....q3E8x1tTEwPthTg",
"token_type":"Bearer",
"expires_in":300
}