Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heiwa4126/awssdkv3-sign-up
AWS SDK for JavaScript v3 の練習。Amazon Cognitoにユーザを追加する。
https://github.com/heiwa4126/awssdkv3-sign-up
aws-sdk-javascript-v3 example
Last synced: 5 days ago
JSON representation
AWS SDK for JavaScript v3 の練習。Amazon Cognitoにユーザを追加する。
- Host: GitHub
- URL: https://github.com/heiwa4126/awssdkv3-sign-up
- Owner: heiwa4126
- Created: 2023-02-01T07:55:07.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-17T02:47:54.000Z (about 1 year ago)
- Last Synced: 2023-10-17T13:29:35.444Z (about 1 year ago)
- Topics: aws-sdk-javascript-v3, example
- Language: JavaScript
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# awssdkv3-sign-up
[AWS SDK for JavaScript v3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html)
の練習。* username(=email)
* password
* given_name
* family_nameが必須の
Amazon Cognitoユーザプールに
ユーザを追加し、
メールアドレスを承認済みにする
スクリプト。## 前提
* Node.js(v18)で作りました。
* 適切な権限を持ったAWSアカウントが設定されてるものとする。## 動かし方
プロジェクトルートで
```bash
pnpm i
# or
npm i
```した後
```bash
cp .env.example .env
vim .env
```
で環境設定して、```bash
# commonJS version
node signup.cjs
# or (ES6 version)
node signup.mjs
# or (TypeScript version)
ts-node signup.ts
```
で実行。- メール(=ユーザ名)は実在していなくてもいい(`[email protected]`など。`@`は要る)
- passwordはポリシーに従ったもの(「数字を含む」とかのアレ)を渡すこと。## shell版
説明用に AWS CLI で書くとこんな感じ。
```bash
aws cognito-idp sign-up \
--client-id \
--username \
--password \
--user-attributes '[{"Name": "email", "Value": ""}]' \
--user-pool-id
```
(user-attributesはCognitoユーザープールの必須項目にあわせて追加)これだとメールが「認証済み」にならない(email_verifiedがいっぺんに設定できない)ので、
```bash
aws cognito-idp admin-update-user-attributes \
--user-pool-id \
--username \
--user-attributes '[{"Name": "email_verified", "Value": "true"}]'
```さらに
```bash
aws cognito-idp admin-confirm-sign-up
--user-pool-id \
--username
```sign-up はアプリケーションクライアントIDが引数なのに、
admin-update-user-attributes, admin-confirm-sign-up はプールIDが引数。## 感想
やっぱりNodejs入れて プロジェクト落として `npm i` は面倒。
あとでnpxできるようにする(またはGoかRustにする)。TypeScript版がanyだらけで気持ちが悪い。
まあ作成中に補完が効くのはありがたい。