質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Amazon Cognito

Amazon Cognitoは、Webアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートするサービスです。ユーザー登録とサインインを行うか、FacebookやAmazon、Googleなどのサードパーティーを通じてサインインできる機能を提供します。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

566閲覧

Docker環境でのみnode.jsのaws-sdkでcognitoのユーザー情報取得ができない

cupmen4800

総合スコア0

Amazon Cognito

Amazon Cognitoは、Webアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートするサービスです。ユーザー登録とサインインを行うか、FacebookやAmazon、Googleなどのサードパーティーを通じてサインインできる機能を提供します。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2023/02/01 05:37

編集2023/02/01 05:40

実現したいこと

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バージョンの変更

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問