AWS::Cognito::UserPoolClient - AWS CloudFormation

AWS::Cognito::UserPoolClient

AWS::Cognito::UserPoolClient リソースは、Amazon Cognito ユーザープールクライアントを指定します。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Type" : "AWS::Cognito::UserPoolClient", "Properties" : { "AllowedOAuthFlows" : [ String, ... ], "AllowedOAuthFlowsUserPoolClient" : Boolean, "AllowedOAuthScopes" : [ String, ... ], "AnalyticsConfiguration" : AnalyticsConfiguration, "CallbackURLs" : [ String, ... ], "ClientName" : String, "DefaultRedirectURI" : String, "ExplicitAuthFlows" : [ String, ... ], "GenerateSecret" : Boolean, "LogoutURLs" : [ String, ... ], "PreventUserExistenceErrors" : String, "ReadAttributes" : [ String, ... ], "RefreshTokenValidity" : Integer, "SupportedIdentityProviders" : [ String, ... ], "UserPoolId" : String, "WriteAttributes" : [ String, ... ] } }

YAML

Type: AWS::Cognito::UserPoolClient Properties: AllowedOAuthFlows: - String AllowedOAuthFlowsUserPoolClient: Boolean AllowedOAuthScopes: - String AnalyticsConfiguration: AnalyticsConfiguration CallbackURLs: - String ClientName: String DefaultRedirectURI: String ExplicitAuthFlows: - String GenerateSecret: Boolean LogoutURLs: - String PreventUserExistenceErrors: String ReadAttributes: - String RefreshTokenValidity: Integer SupportedIdentityProviders: - String UserPoolId: String WriteAttributes: - String

プロパティ

AllowedOAuthFlows

許可されている OAuth フロー。

code に設定して、レスポンスとして認証コードを提供するコード付与フローを開始します。このコードはトークンエンドポイントを使用してアクセストークンと交換できます。

クライアントがアクセストークン (および任意でスコープに基づく ID トークン) を直接取得するように指定するには、implicit に設定します。

クライアントが client と client_secret の組み合わせを使用して、トークンエンドポイントからアクセストークン(および任意でスコープに応じて ID トークン)を取得するように指定するには、client_credentials に設定します。

必須: いいえ

タイプ: 文字列のリスト

最大: 3

Update requires: No interruption

AllowedOAuthFlowsUserPoolClient

クライアントが Cognito ユーザープールとやり取りするときに OAuth プロトコルに従うことを許可されている場合は、true に設定します。

必須: いいえ

タイプ: ブール値

Update requires: No interruption

AllowedOAuthScopes

許可されている OAuth スコープ。OAuth で指定できる値は phoneemailopenidprofile です。AWS で指定できる値は aws.cognito.signin.user.admin です。リソースサーバーで作成されたカスタムスコープもサポートされます。

必須: いいえ

タイプ: 文字列のリスト

最大: 50

Update requires: No interruption

AnalyticsConfiguration

このユーザープールのメトリクスを収集するための Amazon Pinpoint 分析設定。

注記

Pinpoint が利用できないリージョンでは、Cognito ユーザープールは us-east-1 の Amazon Pinpoint プロジェクトへのイベントの送信のみをサポートします。Pinpoint を使用できるリージョンでは、Cognito ユーザープールは、同じリージョン内の Amazon Pinpoint プロジェクトへのイベントの送信をサポートします。

必須: いいえ

タイプ: AnalyticsConfiguration

Update requires: No interruption

CallbackURLs

ID プロバイダーで許可されているリダイレクト (コールバック) URL のリスト。

リダイレクト URI は以下の条件を満たす必要があります。

  • 絶対 URI である。

  • 認証サーバーに登録されている。

  • フラグメントコンポーネントを含まない。

OAuth 2.0 - リダイレクトエンドポイント」を参照してください。

Amazon Cognito では、テスト目的でのみ http://localhost を除き、HTTP 経由の HTTPS が必要です。

myapp://example などのアプリケーションのコールバック URL もサポートされています。

必須: いいえ

タイプ: 文字列のリスト

最大: 100

Update requires: No interruption

ClientName

作成するユーザープールクライアントのクライアント名。

必須: いいえ

タイプ: 文字列

最小: 1

最大: 128

パターン: [\w\s+=,.@-]+

Update requires: No interruption

DefaultRedirectURI

デフォルトのリダイレクト URI。CallbackURLs リストに含まれている必要があります。

リダイレクト URI は以下の条件を満たす必要があります。

  • 絶対 URI である。

  • 認証サーバーに登録されている。

  • フラグメントコンポーネントを含まない。

OAuth 2.0 - リダイレクトエンドポイント」を参照してください。

Amazon Cognito では、テスト目的でのみ http://localhost を除き、HTTP 経由の HTTPS が必要です。

myapp://example などのアプリケーションのコールバック URL もサポートされています。

必須: いいえ

タイプ: 文字列

最小: 1

最大: 1024

パターン: [\p{L}\p{M}\p{S}\p{N}\p{P}]+

Update requires: No interruption

ExplicitAuthFlows

ユーザープールクライアントでサポートされている認証フロー。ALLOW_ プレフィックスのないフロー名は廃止され、ALLOW_ プレフィックスのある新しい名前に置き換えられます。 ALLOW_ プレフィックスのある値は、プレフィックスのない ALLOW_ 値と一緒に使用することはできません。

有効な値を次に示します。

  • ALLOW_ADMIN_USER_PASSWORD_AUTH: 管理者ベースのユーザーパスワード認証フロー ADMIN_USER_PASSWORD_AUTH を有効にします。この設定は、ADMIN_NO_SRP_AUTH 設定と置き換わります。この認証フローでは、Cognito は SRP(Secure Remote Password プロトコル)プロトコルを使用してパスワードを確認するのではなく、リクエストでパスワードを受け取ります。

  • ALLOW_CUSTOM_AUTH: Lambda トリガーベースの認証を有効にします。

  • ALLOW_USER_PASSWORD_AUTH: ユーザーパスワードベースの認証を有効にします。このフローでは、Cognito は SRP プロトコルを使用してパスワードを確認するのではなく、リクエストでパスワードを受け取ります。

  • ALLOW_USER_SRP_AUTH: SRP ベースの認証を有効にします。

  • ALLOW_REFRESH_TOKEN_AUTH: 認証フローを有効にしてトークンを更新します。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

GenerateSecret

作成するユーザープールクライアントのシークレットを生成するかどうかを指定するブール値。

必須: いいえ

タイプ: ブール値

Update requires: Replacement

LogoutURLs

ID プロバイダーで許可されるログアウト URL のリスト。

必須: いいえ

タイプ: 文字列のリスト

最大: 100

Update requires: No interruption

PreventUserExistenceErrors

この設定を使用して、ユーザーがユーザープールに存在しない場合に、認証、アカウントの確認、およびパスワードの回復中に Cognito API から返されるエラーと応答を選択します。ENABLED に設定し、ユーザーが存在しない場合、認証は、ユーザー名またはパスワードが正しくないことを示すエラーを返し、アカウントの確認とパスワードの回復は、コードがシミュレートされた送信先に送信されたことを示す応答を返します。LEGACY に設定したときにユーザーがユーザープールに存在しない場合、これらの API は UserNotFoundException 例外を返します。

必須: いいえ

タイプ: 文字列

許可された値: ENABLED | LEGACY

Update requires: No interruption

ReadAttributes

読み取り属性。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

RefreshTokenValidity

リフレッシュトークンが有効ではなくなり、使用できなくなった後の制限時間 (日)。

必須: いいえ

タイプ: 整数

最小: 0

最大: 3650

Update requires: No interruption

SupportedIdentityProviders

このクライアントでサポートされている ID プロバイダーのプロバイダー名のリスト。COGNITOFacebookGoogleLoginWithAmazonがサポートされています。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

UserPoolId

ユーザープールクライアントを作成するユーザープールのユーザープール ID。

必須: はい

タイプ: 文字列

最小: 1

最大: 55

パターン: [\w-]+_[0-9a-zA-Z]+

Update requires: Replacement

WriteAttributes

アプリクライアントが書き込むことができるユーザープール属性。

アプリクライアントでユーザーが ID プロバイダーからサインインできるようにする場合は、ID プロバイダー属性にマッピングされるすべての属性がこの配列に含まれる必要があります。Amazon Cognito では、ユーザーが ID プロバイダーからアプリケーションにサインインすると、マッピングされた属性を更新します。アプリクライアントからマッピングされた属性への書き込みアクセスが付与されていない場合、属性の更新が試行されたときに、Amazon Cognito によってエラーがスローされます。詳細は、「ユーザープール用 ID プロバイダー属性マッピングの特定」を参照してください。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

戻り値

参照番号

1h57kf5cpq17m0eml12EXAMPLE などの Amazon Cognito ユーザープールクライアントの ID このリソースの論理 ID を組み込みの Ref 関数に渡すと、Ref は次を返します: 。

For more information about using the Ref function, see Ref.