メニュー
Amazon Cognito
開発者ガイド (Version 最終更新日: 2017 年 8 月 26 日)

ユーザープールアプリの ID プロバイダ設定を指定する

AWS マネジメントコンソール、または AWS CLI や API を使用して、ユーザープールの既存アプリクライアントの ID プロバイダをセットアップします。または、新規アプリクライアントを作成するときに ID プロバイダを指定できます。

アプリ ID 設定について

次のアプリクライアント設定を選択します。

有効な ID プロバイダ

アプリクライアントで ID プロバイダを使用するには、最初に ID プロバイダを有効にする必要があります。1 つのアプリに対して複数の ID プロバイダを有効にできますが、少なくとも 1 つを有効にする必要があります。

コールバック URL

コールバック URL は、ユーザーがサインインに成功したときにリダイレクトされる URL を指定します。少なくとも 1 つのコールバック URL を指定する必要があります。

注記

この URL はアプリで指定した app_redirect 値と一致する必要があります。

サインアウト URL

サインアウト URL は、ユーザーがサインアウトしたときにリダイレクトされる URL を指定します。少なくとも 1 つのサインアウト URL を指定する必要があります。

許可されている OAuth フロー

[Authorization code grant] フローはコード付与フローを示します。これはレスポンスとして認証コードを提供します。このコードは「トークンエンドポイント」を使用してアクセストークンと交換できます。

注記

セキュリティ上の理由から、モバイルアプリでは [Authorization code grant] フローを PKCE を使用してのみ使用することを強くお勧めします。

[Implicit grant] フローでは、クライアントがアクセストークン (およびスコープに基づいて、オプションで ID トークン) を「認証エンドポイント」から直接取得することを許可します。このフローは、アプリが [Authorization code grant] フローを開始できない場合にのみ選択します。詳細については、OAuth 2.0 の仕様を参照してください。

[Client credentials] フローは、クライアントが所有リソースにアクセスするためのアクセストークンをリクエストする場合に使用されます。このフローは、アプリがユーザーではなく自身の代わりにトークンをリクエストする場合に使用します。

許可されている OAuth スコープ

次の OAuth スコープを 1 つ以上選択し、アクセストークン用にリクエストできるアクセス権限を指定します。

  • phone スコープは phone_number クレームおよび phone_number_verified クレームへのアクセスを付与します。このスコープは openid スコープを使用する場合にのみリクエストできます。

  • email スコープは email クレームおよび email_verified クレームへのアクセスを付与します。このスコープは openid スコープを使用する場合にのみリクエストできます。

  • openid スコープはクライアントが読み取り可能な ID トークン内のすべてのユーザー属性を返します。openid スコープがクライアントによってリクエストされない場合は、ID トークンは返されません。

  • The aws.cognito.signin.user.admin スコープは、UpdateUserAttributesVerifyUserAttribute など、アクセストークンを必要とする Amazon Cognito ユーザープール API オペレーションへのアクセスを付与します。

  • profile スコープはクライアントが読み取り可能なすべてのユーザー属性へのアクセスを付与します。

許可されているカスタムスコープ

カスタムスコープは、[Resource Servers] タブで自身のリソースサーバーに定義したものです。形式は resource-server-identifier/scope です。

OAuth スコープについての詳細は、標準 OIDC スコープのリストを参照してください。

ユーザープールのアプリ ID プロバイダ設定を指定する (AWS マネジメントコンソール)

AWS マネジメントコンソールを使用してユーザープールのアプリ ID プロバイダ (IdP) の設定を指定します。アプリごとに IdP を少なくとも 1 つ指定する必要があります。

アプリの ID プロバイダ設定を指定するには

  1. Amazon Cognito コンソールにサインインします。

  2. ナビゲーションペインで [Manage your User Pools] を選択してから、編集するユーザープールを選択します。

  3. [App client settings] タブを選択します。

  4. [Enabled Identity Providers] で、以前に [App clients] タブで設定したアプリクライアントで有効にする ID プロバイダを選択します。

  5. [Sign in and sign out URLs] セクションで、必要な [Callback URLs] をカンマで区切って入力します。

    注記

    URL はアプリで使用する前に、コンソールで、または CLI や API を使用して登録する必要があります。

  6. 使用する [Sign out URLs] をカンマで区切って入力します。

    注記

    URL はアプリで使用する前に、コンソールで、または CLI や API を使用して登録する必要があります。

  7. [OAuth 2.0] で次のオプションから選択します。

    • [Allowed OAuth Flows] で、Authorized code grant および Implicit grant を選択します。

    • [Allowed OAuth Scopes] で目的のスコープを選択します。各スコープは 1 つ以上の標準属性のセットです。詳細については、「アプリ ID 設定について」を参照してください。

ユーザープールのアプリ ID プロバイダ設定を指定する (AWS CLI および AWS API)

次のコマンドを使用して、ユーザープールのアプリ ID プロバイダ設定を指定します。

ユーザープールの既存のクライアントアプリの ID プロバイダ設定を追加または変更するには

  • AWS CLI: aws cognito-idp update-user-pool-client

    例: update-user-pool-client --user-pool-id <user_pool_id> --client-id <client_id> --allowed-o-auth-flows-user-pool-client --allowed-o-auth-scopes "code" "token" --allowed-o-auth-scopes "openid" "cognito" --callback-urls https://example.com --supported-identity-providers ["saml_provider_1", "saml_provider_2"]

  • AWS API: UpdateUserPoolClient

アプリおよび IdP のユーザープールクライアントを作成するには

ユーザープールのクライアントアプリ ID プロバイダの設定に関する情報を取得するには

ユーザープールのすべてのクライアントに関する情報を一覧表示するには

ユーザープールクライアントを削除するには