ホストされた UI サインアウトエンドポイント: /logout - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ホストされた UI サインアウトエンドポイント: /logout

/logout エンドポイントは、リダイレクションエンドポイントです。ユーザーをサインアウトし、URLアプリケーションクライアントの承認されたサインアウトまたは/loginエンドポイントにリダイレクトします。/logout エンドポイントへのGETリクエストで使用可能なパラメータは、Amazon Cognito がホストする UI のユースケースに合わせて調整されます。

ユーザーをホストされた UI にリダイレクトして再度ログインするには、リクエストに redirect_uri パラメータを追加します。redirect_uri パラメータを含む logout リクエストには、client_idresponse_typescope などの ログインエンドポイント への後続のリクエスト用のパラメータも含める必要があります。

ログアウトエンドポイントは、顧客とのインタラクティブなユーザーセッション用のフロントエンドウェブアプリケーションです。アプリは、このエンドポイントと他のホストされた UI エンドポイントをユーザーのブラウザで呼び出す必要があります。

選択したページにユーザーをリダイレクトするには、アプリケーションクライアントに許可されたサインアウトURLsを追加します。logout エンドポイントへのユーザーのリクエストに、logout_uri および client_id パラメーターを追加します。の値がアプリケーションクライアントの許可されたサインアウトURLsの 1 つである場合、Amazon Cognito logout_uriはそのユーザーにリダイレクトしますURL。

SAML 2.0 のシングルログアウト (SLO) では IdPs、Amazon Cognito はまずユーザーを IdP 設定で定義したSLOエンドポイントにリダイレクトします。IdP がユーザーを にリダイレクトするとsaml2/logout、Amazon Cognito はリクエストlogout_uriから redirect_uriまたは へのリダイレクトをもう 1 回返します。詳細については、「シングルサインアウトでSAMLユーザーをサインアウトする」を参照してください。

ログアウトエンドポイントは、 OIDCまたはソーシャル ID プロバイダー () からユーザーに署名しませんIdPs。外部 IdP を使用してセッションからユーザーをサインアウトするには、そのプロバイダーのサインアウトページに移動します。

GET /ログアウト

/logout エンドポイントは HTTPS GET のみをサポートします。ユーザープールクライアントは通常、このリクエストをシステムブラウザ経由で行います。ブラウザは通常、Android では Custom Chrome Tab、iOS では Safari View Control です。

リクエストパラメータ

client_id

アプリのアプリクライアント ID。アプリクライアント ID を取得するには、ユーザープールにアプリを登録する必要があります。詳細については、「アプリケーションクライアントでのアプリケーション固有の設定」を参照してください。

必須。

logout_uri

logout_uri パラメータを使用して、ユーザーをカスタムサインアウトページにリダイレクトします。その値を、サインアウトURL後にユーザーをリダイレクトするアプリケーションクライアントサインアウトに設定します。logout_uri は、client_id パラメータでのみ使用してください。詳細については、「アプリケーションクライアントでのアプリケーション固有の設定」を参照してください。

logout_uri パラメータを使用して、ユーザーを別のアプリクライアントのサインインページにリダイレクトすることもできます。他のアプリケーションクライアントのサインインページを、アプリケーションクライアントの許可されたコールバックURLとして設定します。/logout エンドポイントへのリクエストで、logout_uri パラメータの値を URLエンコードされたサインインページに設定します。

Amazon Cognito では、/logout エンドポイントへのリクエストに logout_uri または redirect_uri パラメータのいずれかが必要です。logout_uri パラメータは、ユーザーを別のウェブサイトにリダイレクトします。/logout エンドポイントへのリクエストに logout_uri パラメータと redirect_uri パラメータの両方が含まれている場合、Amazon Cognito は logout_uri パラメータのみを使用し、redirect_uri パラメータをオーバーライドします。

redirect_uri

redirect_uri パラメータを使用して、ユーザーをサインインページにリダイレクトし、認証を行います。その値を、アプリケーションクライアント許可コールバックURLに設定します。このコールバックでは、再度サインインした後にユーザーをリダイレクトします。/login エンドポイントに渡す client_idscopestateresponse_type のパラメータを追加します。

Amazon Cognito では、/logout エンドポイントへのリクエストに logout_uri または redirect_uri パラメータのいずれかが必要です。ユーザーを/loginエンドポイントにリダイレクトして、トークンを再認証してアプリケーションに渡すには、redirect_uri パラメータを追加します。logout_uri パラメータと redirect_uri パラメータの両方が/logoutエンドポイントへのリクエストに含まれている場合、Amazon Cognito は redirect_uri パラメータをオーバーライドし、logout_uri パラメータのみを処理します。

response_type

ユーザーがサインインした後に Amazon Cognito から受信する OAuth 2.0 レスポンス。 codeおよび tokenresponse_type パラメータの有効な値です。

redirect_uri パラメータを使用する場合は必須です。

state

アプリケーションがリクエストにステートパラメータを追加すると、/oauth2/logoutエンドポイントがユーザーをリダイレクトするときに Amazon Cognito はその値をアプリケーションに返します。

この値をリクエストに追加して、CSRF攻撃から保護します。

state パラメータの値をURLエンコードされたJSON文字列に設定することはできません。state パラメータでこの形式に一致する文字列を渡すには、文字列を base64 にエンコードしてから、アプリケーションでデコードします。

redirect_uri パラメータを使用する場合は強くお勧めします。

scope

redirect_uri パラメータでサインアウトした後に Amazon Cognito にリクエストする OAuth 2.0 スコープ。Amazon Cognito は、/logout エンドポイントへのリクエストの scope パラメータを使用してユーザーを /login エンドポイントにリダイレクトします。

redirect_uri パラメータを使用する場合は任意。scope パラメータを含めない場合、Amazon Cognito は scope パラメータを使用してユーザーを /login エンドポイントにリダイレクトします。Amazon Cognito がユーザーをリダイレクトし、scope に自動的にデータを入力する場合、パラメータには、アプリクライアントに対して許可されているすべてのスコープが含まれます。

リクエストの例

例 – ログアウトしてユーザーをクライアントにリダイレクトする

logout_uri と を除きclient_id、このエンドポイントで可能なすべてのクエリパラメータは に渡されます認可エンドポイント。Amazon Cognito は、リクエストに logout_uriと が含まれている場合logout_uri、他のすべてのリクエストパラメータを無視して、ユーザーセッションを の値URLで にリダイレクトしますclient_id。これは、URLアプリケーションクライアントの認可されたサインアウトURLである必要があります。

次は、サインアウトと https://www.example.com/welcome へのリダイレクトのリクエスト例です。

GET https://mydomain.auth.us-east-1.amazoncognito.com/logout? client_id=1example23456789& logout_uri=https%3A%2F%2Fwww.example.com%2Fwelcome

例 - ログアウトして、別のユーザーとしてサインインするようにユーザーに促す

リクエストに logout_uri が省略されているが、許可エンドポイントへの正しい形式のリクエストを構成するパラメータが指定されている場合、Amazon Cognito はホストされた UI サインインにユーザーをリダイレクトします。ログアウトエンドポイントは、元のリクエストのパラメータをリダイレクト先に追加します。ログアウトエンドポイントへのリクエストredirect_uriの パラメータは、サインアウト ではなくURL、認証エンドポイントにURL渡すサインインです。

以下は、ユーザーをサインアウトし、サインインページにリダイレクトし、サインインhttps://www.example.com後に認証コードを に提供するリクエストの例です。

GET https://mydomain.auth.us-east-1.amazoncognito.com/logout? response_type=code& client_id=1example23456789& redirect_uri=https%3A%2F%2Fwww.example.com& state=example-state-value& nonce=example-nonce-value& scope=openid+profile+aws.cognito.signin.user.admin