ユーザーのトークンの取消し
投稿
/oam/services/rest/consent/revoke
REST APIを使用すると、管理者は認可コード・フロー(3-legged OAuthフロー)を介してユーザーまたはユーザー+クライアント+リソース・サーバーの組合せに対して発行されたアクセス・トークンまたはリフレッシュ・トークンを無効にできます。APIは、指定された組合せに対して更新されたすべての承認を返します。トークンは、特定のタイムスタンプを指定して取り消すこともできます。
リクエスト
サポートされているメディア・タイプ
- application/x-www-form-urlencoded
ヘッダー・パラメータ
- authorization: string
Administrator:SecretのBase64でエンコードされたヘッダー。これは、weblogic管理者がリソースにアクセスするための認証メカニズムです。
- x-oauth-identity-domain-name: string
トークンの取消しをリクエストしているOAuthアイデンティティ・ドメイン名。
フォーム・パラメータ
- clientIdentifier(optional): string
OAuthクライアントID/識別子指定する場合は、クライアントを一意に識別するresServerIdを指定する必要があります。
- resServerId(optional): string
OAuthアプリケーションID/識別子クライアント・エンティティを一意に識別するために必要で、clientIdentifierが指定されている場合、resServerIdは必須です。
- revoke_type(optional): string
取り消すエンティティ。可能な値は、ACCESS_TOKENS、REFRESH_TOKENS、TOKENSですデフォルト値:
TOKENS
- timestamp(optional): string
このタイムスタンプより前に発行されたすべてのトークンが無効になります。タイムスタンプはyyyy-MM-dd'T'HH:mm:ssZ形式である必要があります。'Z'はUTCからの時間オフセットです。
たとえば
Feb 20 09:45:51 UTC 2021 --> 2021-02-20T09:45:51Z
Mar 04 00:39:12 PST 2021 --> 2021-03-04T00:39:12-0800 - userId: string
ユーザー名/識別子。トークンの作成に付与/承認が使用されたユーザーの名前。
レスポンス
サポートされているメディア・タイプ
- application/json
200 レスポンス
取消しの詳細でユーザー承認が正常に更新されました
ネストされたスキーマ: consentAfterRevoke
型:
ソースを表示
object
- clientId: string
OAuthクライアント識別子例:
clientA
- consentId: string
OAuth承認の一意識別子例:
30650989-8e53-3010-b06a-98b0ef42b65d
- createTimeStamp: string
OAuth承認の作成タイムスタンプ例:
Tue Mar 09 21:12:06 PST 2021
- resourceId: string
OAuthアプリケーション識別子例:
66ac1a16-ee37-4525-81f6-9062d69a743c
- revokeTimestamp: string
キーと値のペアの文字列。値はキーに適用可能な取消しタイムスタンプを示し、キーはrevoke_typeに応じてTOKENS、ACCESS_TOKENSまたはREFRESH_TOKENSの値を持つことができます。指定したタイムスタンプより前に生成されたすべてのトークン・タイプが取り消されます。例:
TOKENS=2021-03-08T23:30:33-0800, ACCESS_TOKENS=2021-03-08T20:30:33-0800, REFRESH_TOKENS=2021-03-08T21:30:33-0800
- scopes: array scope
- valid: boolean
OAuth承認の有効性を識別するフラグ。True - 承認は有効、False - 承認は無効例:
true
400 レスポンス
ユーザー承認 - 詳細の取得に失敗しました
ルート・スキーマ: schema
型:
ソースを表示
object
- error(optional): string
エラー・コード
- error_description(optional): string
エラーの説明
例:
{
"error":"400",
"error_description":"Required parameter 'X-OAUTH-IDENTITY-DOMAIN-NAME' is not present."
}
例
cURLサンプル・リクエスト
この例では、タイムスタンプに基づいてユーザーのすべてのリフレッシュ・トークンを取り消すサンプル・リクエストを示します
curl --location --request POST '<AdminServerHost>:<AdminServerPort>/oam/services/rest/consent/revoke' \ --header 'Authorization: Basic d2VibG9naWM6d2VsY29tZTE=' \ --header 'x-oauth-identity-domain-name: DemoDomain' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Cookie: JSESSIONID=NysahaoNLyc13HzjEh93gJmwbY4HnMetJQY33RE8_ZdBpzpw7kdr!-472705583' \ --data-urlencode 'userId=UserA' \ --data-urlencode 'revoke_type=REFRESH_TOKENS' \ --data-urlencode 'timestamp=2021-03-09T15:30:33+0800'
cURLサンプル・レスポンス
{ "consents": [ { "clientId": "DemoClientId", "consentId": "30650989-8e53-3010-b06a-98b0ef42b65d", "createTimeStamp": "Fri Mar 12 03:55:31 PST 2021", "resourceId": "66ac1a16-ee37-4525-81f6-9062d69a743c", "scopes": [ "DemoResServer.DefaultScope" ], "tokenRevokeTimestamp": "REFRESH_TOKENS=2021-03-08T03:56:49-0800", "valid": true } ] }