ダメ元エンジニアのお勉強おメモ

ほとんど自分用のメモです。AWS をよく触ります。Web アプリとか作ります。Raspberry Pi も好きです。

Amazon Cognito

Cognito IdP の AdminCreateUser で発生したエラーの原因がユーザー名 or メールアドレスの重複である場合にはエラーコードの値が同じになる

結論 こんな感じ。 "error": { "message": "User account already exists", "code": "UsernameExistsException", ... } "error": { "message": "An account with the email already exists.", "code": "UsernameExistsException", ... } メールアドレスの重…

Cognito IdP の AdminCreateUser でユーザーを作成した際にパスワード通知メールを送信しない方法

結論 AdminCreateUser の引数に下記を指定することで、パスワード通知メールが送信されなくなる。 DesiredDeliveryMediums: [], MessageAction: "SUPPRESS" SUPPRESS は抑制を意味する。 参考 stackoverflow.com

Cognito IdP の ListUserPoolClients を1回呼び出した際に返されるアプリクライアントの数が AWS CLI と AWS SDK for JavaScript で異なる(サービスやアクションに限らない話の可能性あり)

環境 % aws --version aws-cli/2.0.28 Python/3.7.4 Darwin/19.6.0 botocore/2.0.0dev3 % node --version v14.7.0 % yarn --version 1.22.10 % yarn list --depth=0 | grep aws-sdk ├─ aws-sdk@2.934.0 準備 下記の Shell Script で特定のユーザープールに20…

Cognito IdP でユーザーのリストを単に取得してもグループの情報は含まれない

内容 listUsers ではグループの情報が一切取得できない。代わりに listGroups でグループ名を取得してから listUsersInGroup でグループごとにユーザーのリストを取得 & 良い感じに結合するしかなさそう。 下記を参考にして、 stackoverflow.com TypeScript …

Cognito でユーザーの email 変更と同時に email_verified を true にすると検証コード通知メールが飛ばない

結論 いや、検証コードの通知飛ばさなくて良いんですけどって時は下記のような形でコマンドを叩けばおk。 % aws cognito-idp admin-update-user-attributes \ --user-pool-id ap-northeast-1_xxxxxx \ --username yamada.taro \ --user-attributes Name=emai…

Cognito の JWT を TypeScript で検証する方法 - async / await で

ソースコード こんな感じになる。 import * as Console from 'console'; import { promisify } from 'util'; import jwt, { JwtHeader, TokenExpiredError } from 'jsonwebtoken'; import jwksClient from 'jwks-rsa'; const AWS_REGION = process.env.AWS_R…