ターゲットOIDCプロバイダーの手順に従い、OIDCクライアントIDとシークレットの値を確認してください。また、以降の手順で発行者URL(issuer URL)が必要になります。セットアップ処理にリダイレクトURIが必要な場合は、デプロイ完了後に置き換えられる仮の値を入力してください。
-
AWS管理コンソールに移動します。
-
Secrets Managerに移動し、「新しいシークレットを保存」を選択します。
-
「その他の種類のシークレット」を選択します。
-
クライアントIDとクライアントシークレットをキーと値のペアとして入力します。
- キー:
clientId
、値: <YOUR_GOOGLE_CLIENT_ID> - キー:
clientSecret
、値: <YOUR_GOOGLE_CLIENT_SECRET> - キー:
issuerUrl
、値: <ISSUER_URL_OF_THE_PROVIDER>
- キー:
-
プロンプトに従ってシークレットに名前と説明を付けます。CDKコードで使用するため、シークレット名をメモしておきます(ステップ 3 の変数名 <YOUR_SECRET_NAME> で使用)。
-
シークレットを確認して保存します。
キー名は、clientId
、clientSecret
、issuerUrl
の文字列と完全に一致する必要があります。
cdk.json ファイルに、ID プロバイダと SecretName を追加します。
次のようになります:
{
"context": {
// ...
"identityProviders": [
{
"service": "oidc", // 変更しないでください
"serviceName": "<YOUR_SERVICE_NAME>", // お好きな値を設定してください
"secretName": "<YOUR_SECRET_NAME>"
}
],
"userPoolDomainPrefix": "<UNIQUE_DOMAIN_PREFIX_FOR_YOUR_USER_POOL>"
}
}
userPoolDomainPrefix
は、すべての Amazon Cognito ユーザー間でグローバルに一意である必要があります。既に別の AWS アカウントで使用されているプレフィックスを選択すると、ユーザープールドメインの作成に失敗します。一意性を確保するために、識別子、プロジェクト名、または環境名をプレフィックスに含めることをお勧めします。
AWS にCDKスタックをデプロイします:
npx cdk deploy --require-approval never --all
スタックをデプロイした後、AuthApprovedRedirectURI
が CloudFormation の出力に表示されます。OIDC 設定に戻り、正しいリダイレクト URI で更新してください。