アクセス・トークン

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

アイデンティティ・ドメイン・アクセス・トークンには、トークンによって伝達されるサブジェクトのタイプ(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コンテキストからのユーザーのアイデンティティ・ドメインの表示名(最大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 
}