- AWS が提供している Amazon Cognito Identity SDK for JavaScript (a.k.a amazon-cognito-identity-js) を typescript 環境からサクッと試す機会があったので、環境構築方法のメモ
mkdir my-amazon-cognito-identity-js-project && cd my-amazon-cognito-identity-js-project
npm init -y
npm install --save-dev typescript ts-node @types/node
npm install amazon-cognito-identity-js cross-fetch
npx tsc --init
touch app.ts
- Usage の Use case 1. を参考にした
import 'cross-fetch/polyfill'
import * as AmazonCognitoIdentity from 'amazon-cognito-identity-js'
const poolData = {
UserPoolId: 'ap-northeast-1_xxxxx',
ClientId: 'xxx',
}
const userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData)
const attributeList = []
const dataEmail = {
Name: 'email',
Value: '[email protected]',
}
const attributeEmail = new AmazonCognitoIdentity.CognitoUserAttribute(dataEmail);
attributeList.push(attributeEmail);
userPool.signUp('username', 'password', attributeList, [], function(err, result: any) {
if (err) {
alert(err.message || JSON.stringify(err))
return
}
const cognitoUser = result.user
console.log('user name is ' + cognitoUser.getUsername())
})
npx ts-node app.ts
% node -v
v12.16.1
% npm -v
6.14.8
package.json
{
"name": "my-amazon-cognito-identity-js-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@types/node": "^14.14.16",
"ts-node": "^9.1.1",
"typescript": "^4.1.3"
},
"dependencies": {
"amazon-cognito-identity-js": "^4.5.6",
"cross-fetch": "^3.0.6"
}
}