- Google Developer Console へ移動します。
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
- 「認証情報」に移動し、「認証情報を作成」をクリックして「OAuth クライアント ID」を選択します。
- 促された場合、同意画面を設定します。
- アプリケーションタイプとして「Web アプリケーション」を選択します。
- リダイレクト URI は後に設定するため空欄にして一旦保存します。Step5 を参照
- 作成されたら、クライアント ID とクライアント シークレットをメモしてください。
詳細については、Google の公式ドキュメントをご覧ください。
-
AWS 管理コンソールへ移動します。
-
Secrets Manager に移動し、「新しいシークレットを保存」を選択します。
-
「他のタイプのシークレット」を選択します。
-
Google OAuth clientId と clientSecret をキーと値のペアとして入力します。
- キー: clientId, 値: <YOUR_GOOGLE_CLIENT_ID>
- キー: clientSecret, 値: <YOUR_GOOGLE_CLIENT_SECRET>
-
シークレットの名前と説明を入力して進んでください。CDK コードで必要になるので、シークレット名を控えておいてください。例:googleOAuthCredentials (ステップ 3 の変数名<YOUR_SECRET_NAME>で使用します)
-
シークレットを確認して保存します。
キー名は、文字列 'clientId' および 'clientSecret' と完全に一致する必要があります。
cdk.json ファイルに、あなたのアイデンティティプロバイダーと SecretName の設定を追加します。
以下のようにします:
{
"context": {
// ...
"identityProviders": [
{
"service": "google",
"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
スタックをデプロイした後、CfnOutput で AuthApprovedRedirectURI が出力されます。 Google Developer Console に戻り、OAuth クライアントを正しいリダイレクト URI で更新します。