From a7e7769da0371b6e41d31c87994f404d7c6e31e3 Mon Sep 17 00:00:00 2001 From: Kento Ikeda Date: Sat, 18 Jul 2026 15:57:28 +0900 Subject: [PATCH] fix(create-blocks-app): register Amplify auth config --- .changeset/few-lizards-shake.md | 5 +++++ packages/create-blocks-app/src/cli.test.ts | 6 ++++++ .../create-blocks-app/templates/amplify/amplify-blocks.ts | 6 +++--- test-apps/amplify-gen2/amplify/blocks.ts | 6 +++--- 4 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 .changeset/few-lizards-shake.md diff --git a/.changeset/few-lizards-shake.md b/.changeset/few-lizards-shake.md new file mode 100644 index 000000000..802abab97 --- /dev/null +++ b/.changeset/few-lizards-shake.md @@ -0,0 +1,5 @@ +--- +'@aws-blocks/create-blocks-app': patch +--- + +Store Amplify Cognito runtime configuration in the shared config registry. diff --git a/packages/create-blocks-app/src/cli.test.ts b/packages/create-blocks-app/src/cli.test.ts index 48e5f0a7f..781f535d7 100644 --- a/packages/create-blocks-app/src/cli.test.ts +++ b/packages/create-blocks-app/src/cli.test.ts @@ -170,6 +170,12 @@ describe('create-blocks-app auto-detection', () => { const result = run(['-y', '--skip-install'], tmpDir); assert.strictEqual(result.exitCode, 0); assert.match(result.stdout, /Detected Amplify Gen 2 project/); + + const blocksIntegration = readFileSync(join(tmpDir, 'amplify', 'blocks.ts'), 'utf-8'); + assert.match(blocksIntegration, /import \{ registerConfig \} from '@aws-blocks\/blocks\/cdk';/); + assert.match(blocksIntegration, /registerConfig\(blocks, 'COGNITO_USER_POOL_ID', cfnUserPool\.ref\);/); + assert.match(blocksIntegration, /registerConfig\(blocks, 'COGNITO_CLIENT_ID', cfnUserPoolClient\.ref\);/); + assert.doesNotMatch(blocksIntegration, /blocks\.handler\.addEnvironment\('COGNITO_/); } finally { rmSync(tmpDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 }); } diff --git a/packages/create-blocks-app/templates/amplify/amplify-blocks.ts b/packages/create-blocks-app/templates/amplify/amplify-blocks.ts index e1d2845d3..08d6ed6a1 100644 --- a/packages/create-blocks-app/templates/amplify/amplify-blocks.ts +++ b/packages/create-blocks-app/templates/amplify/amplify-blocks.ts @@ -5,6 +5,7 @@ * Passes Cognito config so Blocks can verify bearer tokens. */ import { createBlocksBackend } from '../aws-blocks/index.cdk.js'; +import { registerConfig } from '@aws-blocks/blocks/cdk'; export async function initBlocks(backend: any) { const blocksStack = backend.createStack('blocks'); @@ -14,9 +15,8 @@ export async function initBlocks(backend: any) { // Pass Amplify's Cognito config to the Blocks Lambda (if auth is configured) if (backend.auth?.resources?.cfnResources) { const { cfnUserPool, cfnUserPoolClient } = backend.auth.resources.cfnResources; - blocks.handler.addEnvironment('COGNITO_USER_POOL_ID', cfnUserPool.ref); - blocks.handler.addEnvironment('COGNITO_CLIENT_ID', cfnUserPoolClient.ref); - blocks.handler.addEnvironment('COGNITO_REGION', blocksStack.region); + registerConfig(blocks, 'COGNITO_USER_POOL_ID', cfnUserPool.ref); + registerConfig(blocks, 'COGNITO_CLIENT_ID', cfnUserPoolClient.ref); } // Surface Blocks API URL in amplify_outputs.json diff --git a/test-apps/amplify-gen2/amplify/blocks.ts b/test-apps/amplify-gen2/amplify/blocks.ts index e1d2845d3..08d6ed6a1 100644 --- a/test-apps/amplify-gen2/amplify/blocks.ts +++ b/test-apps/amplify-gen2/amplify/blocks.ts @@ -5,6 +5,7 @@ * Passes Cognito config so Blocks can verify bearer tokens. */ import { createBlocksBackend } from '../aws-blocks/index.cdk.js'; +import { registerConfig } from '@aws-blocks/blocks/cdk'; export async function initBlocks(backend: any) { const blocksStack = backend.createStack('blocks'); @@ -14,9 +15,8 @@ export async function initBlocks(backend: any) { // Pass Amplify's Cognito config to the Blocks Lambda (if auth is configured) if (backend.auth?.resources?.cfnResources) { const { cfnUserPool, cfnUserPoolClient } = backend.auth.resources.cfnResources; - blocks.handler.addEnvironment('COGNITO_USER_POOL_ID', cfnUserPool.ref); - blocks.handler.addEnvironment('COGNITO_CLIENT_ID', cfnUserPoolClient.ref); - blocks.handler.addEnvironment('COGNITO_REGION', blocksStack.region); + registerConfig(blocks, 'COGNITO_USER_POOL_ID', cfnUserPool.ref); + registerConfig(blocks, 'COGNITO_CLIENT_ID', cfnUserPoolClient.ref); } // Surface Blocks API URL in amplify_outputs.json