アクセス・トークン

OAuthトランザクションが成功するには、IAMアイデンティティ・ドメイン認可サーバーが、APIコールを認証するために使用するアクセス・トークンを発行する必要があります。アクセス・トークンはクライアント・アプリケーションに発行される認可を表し、保護されているOAuthリソースにアクセスするために使用される資格証明が含まれます。

アクセス・トークンは、クライアント・アプリケーションがアイデンティティ・ドメインREST APIでタスクを実行するために使用するセッション(スコープおよび有効期限あり)を提供します。アクセス・トークンは、アイデンティティ・ドメイン・コンソールを使用するか、プログラム(アプリケーション・クライアントのIDとシークレットを使用してREST APIコールを実行する)によって取得できます。アプリケーションで指定された権限付与タイプに応じて、アプリケーションは様々な方法でアクセス・トークンをリクエストして保護されているエンドポイントにアクセスできます。権限付与とは、保護されているリソースにアクセスするためのリソース所有者の認可を表す資格証明です。アクセス権限付与タイプを参照してください。

名前
tok_type* トークン・タイプを識別します: AT
iss トークンを発行したプリンシパル: https://<domainURL>
sub アクセスをリクエストしているエンティティ(ユーザー/クライアント)を識別します。サブジェクト識別子はローカルで一意であり、クライアントによる使用を目的としています。IDPropagationトークンの場合、これにはユーザーのユーザーIDが含まれます。その他の場合は、clientID.が含まれます。
sub_mappingattr* IDストアでsubを検出するのに使用される属性。これはSSO設定のマッピングattrです。
sub_type

アイデンティティ・ドメイン・アクセス・トークンには、トークンによって伝達されるサブジェクトのタイプ(subクレーム)を示すsub_typeクレームが含まれます。トークンがクライアントのかわりにのみ発行される場合、要求の値はclient.ですそれ以外の場合、トークンがユーザー・アイデンティティを伝播している場合、クレームの値はuser.です

アクセス・トークンを処理および検証するエンティティは、sub_typeクレームの値を使用して、アイデンティティ・ドメイン/Asserter REST APIをコールできます。このエンドポイントを使用して、subクレームで示されるクライアントのアプリケーション・ロールをリクエストします。sub_typeクレームの値は、SubjectTypeリクエスト・パラメータを使用して/Asserterに渡されます。アイデンティティ・ドメインは通常、client/Asserterエンドポイントに渡すことなく、アサートがクライアントではなくユーザーの情報をリクエストしているとみなします。したがって、/AsserterエンドポイントのSubjectType入力パラメータおよびアクセス・トークンのsub_typeクレームは、アクセス・トークンを処理するエンティティがクライアントのAppRolesをアサートするために使用できます。

user_id* ユーザー・トークンに対するAuthNコンテキストからのユーザーのアイデンティティ・ドメインGUID。クライアントのみのトークンには存在しません。
user_displayname* AuthNコンテキストからのユーザーのアイデンティティ・ドメインの表示名(ASCII文字で最大255文字)。クライアントのみのトークンには存在しません。
user_tenantname* ユーザー・テナント名(ASCII文字で最大255文字)。クロス・テナント・ユースケースのリソース・テナントと異なる場合があります。テナントのGUIDは、実際にはトークンに保存されず、クライアントのみのトークンには存在しません。
tenant* アクセス・トークンのリクエストが実行された際のリソース・テナント名(ASCII文字で最大255文字)。リソース・テナントのGUIDは、実際にはトークンに保存されません。
user.tenant.name* tenant.と同じこれは、レガシー・コンシューマが存在しなくなるまで、下位互換性のためにトラッキングされます。ノート:テナント名はアイデンティティ・ドメインです。
aud リソース・サーバーがターゲットURLのリソース・接頭辞と照合するために必要とするURI文字列が含まれます。標準のAUD形式を使用して、複数のURI文字列を指定できます。OIDCリクエストに他のリソース・サーバーのスコープが含まれる場合も同様です。たとえば: ["https://<domainURL>/", "https://example.com"]
iat JWTが発行された時間(UNIXエポック時間)。UNIXエポック時間はJSON数値で、1970-01-01T0:0:0Zから協定世界時(UTC)で測定された日時までの秒数を表します。
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 
}