実現したいこと
AdminInitiateAuthCommandを使ってユーザー情報を取得したい
前提
- ローカルでは動きますが、Dockerでは動きません。
- node.jsのバージョン: 18.13.0
発生している問題・エラーメッセージ
Could not load credentials from any providers
該当のソースコード
ts
1// main.ts 2import { 3 CognitoIdentityProviderClient, 4 AdminInitiateAuthCommand, 5 AdminInitiateAuthCommandInput, 6} from '@aws-sdk/client-cognito-identity-provider' 7import { createHmac } from 'crypto' 8 9const makeSecretHash = (username, client_id, client_secret) => { 10 const secretHash = createHmac('sha256', client_secret) 11 .update(`${username}${client_id}`) 12 .digest('base64') 13 14 return secretHash 15} 16 17const COGNITO_API_VERSION = '2016-04-18' 18const COGNITO_USER_POOL_ID = process.env.COGNITO_USER_POOL_ID 19const COGNITO_CLIENT_ID = process.env.COGNITO_CLIENT_ID 20const COGNITO_CLIENT_SECRET = process.env.COGNITO_CLIENT_SECRET 21const AWS_REGION = process.env.AWS_REGION 22const MY_USERNAME = process.env.MY_USERNAME 23const MY_PASSWORD = process.env.MY_PASSWORD 24 25const client = new CognitoIdentityProviderClient({ 26 apiVersion: COGNITO_API_VERSION, 27 region: AWS_REGION, 28}) 29 30/** 31 * IDトークンを取得 32 */ 33const getIdToken = async (): Promise<void> => { 34 const params: AdminInitiateAuthCommandInput = { 35 UserPoolId: COGNITO_USER_POOL_ID, 36 ClientId: COGNITO_CLIENT_ID, 37 AuthFlow: 'ADMIN_USER_PASSWORD_AUTH', 38 AuthParameters: { 39 USERNAME: MY_USERNAME, 40 PASSWORD: MY_PASSWORD, 41 SECRET_HASH: makeSecretHash( 42 MY_USERNAME, 43 COGNITO_CLIENT_ID, 44 COGNITO_CLIENT_SECRET 45 ), 46 }, 47 } 48 const adminAuthCommand = new AdminInitiateAuthCommand(params) 49 try { 50 const data = await client.send(adminAuthCommand) 51 console.log(data) 52 console.log(data.Session) 53 // process data. 54 } catch (error) { 55 console.log(params) 56 console.log(error.message) 57 } finally { 58 // finally. 59 } 60} 61 62getIdToken() 63
docker-compose.yml
yml
1version: '3' 2 3services:app: 4 container_name: 'fuga-app' 5 tty: true 6 image: node:18.13.0-bullseye-slim 7 ports: 8 - '3000:3000' 9 - '3333:3333' 10 - '5555:5555' 11 volumes: 12 - ./app:/srv/app:rw 13 working_dir: /srv/app 14 networks: 15 - fuga-tier 16 17networks: 18 fuga-tier: 19 driver: bridge
試したこと
- Dockerのimage変更
- node.jsバージョンの変更

あなたの回答
tips
プレビュー