I have used the following example to implement AWS Cognito in nodeJS but i am facing the error "'AWSCognito' is not defined no-undef"
Reference Link : https://github.com/aws/amazon-cognito-identity-js/
Following is my code in App.js file. I have used react-app.
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import { CognitoUserPool, CognitoUserAttribute, CognitoUser } from 'amazon-cognito-identity-js';
class App extends Component {
constructor(props, context){
super(props, context);
this.state = {
items: []
}
}
render() {
const {items} = this.state;
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
<button onClick={(e) => this.doRegister(e)}>Register</button>
{ items.map(item => <p>{item.id}</p>) }
</div>
);
}
doRegister(){
console.log("Register User");
var poolData = {
UserPoolId : 'xxxxxxxxxxx', // Your user pool id here
ClientId : 'xxxxxxxxxxxxxxxxxx' // Your client id here
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
console.debug(userPool);
}
}
export default App;
This is the code in package.json. You can see the aws-cognito-identity library is already added.
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"amazon-cognito-identity-js": "^1.19.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"react-scripts": "1.0.10"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"devDependencies": {
"json-loader": "^0.5.4",
"webpack": "^3.0.0"
}
}
Why it is showing AWSCognito is undefined. Is there anything missing in my code related to AWS Cognito?
You need the AWS SDK for JavaScript in addition to Amazon Cognito Identity SDK for JavaScript.
npm install aws-sdk --save
Then, you can import it as:
import * as AmazonCognitoIdentity from 'amazon-cognito-identity-js';
class App extends Component {
...
const poolData = { UserPoolId: 'YOUR_USER_POOL_ID', ClientId: 'YOUR_CLIENT_ID' };
const userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
...
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With