Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.get('/', (req, res) => {
- let userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
- let cognitoUser = userPool.getCurrentUser();
- if(cognitoUser === null) {
- res.render('index')
- }
- else {
- res.redirect('/dashboard')
- }
- });
- app.get('/dashboard', (req, res) => {
- let userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
- let cognitoUser = userPool.getCurrentUser();
- if (cognitoUser != null) {
- cognitoUser.getSession(function (err, session) {
- if (err) {
- req.flash('error_msg', err.message)
- res.redirect('/');
- }
- if (session.isValid()) {
- cognitoUser.getUserAttributes(function (err, result) {
- if (err) {
- req.flash('error_msg', err.message)
- res.redirect('/');
- }
- let token = session['idToken']['jwtToken'];
- ValidateToken(token);
- res.render('dashboard', {name: result[2].getValue(), email: result[3].getValue()})
- });
- }
- });
- }
- else {
- req.flash('error_msg', 'You are not logged in...')
- res.redirect('/');
- }
- })
- app.post('/login', (req, res) => {
- let userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
- let username = req.body.email;
- let password = req.body.password;
- let authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails({
- Username : username,
- Password : password,
- });
- let userData = {
- Username : username,
- Pool : userPool
- };
- let cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
- cognitoUser.authenticateUser(authenticationDetails, {
- onSuccess: function (result) {
- // console.log('access token + ' + result.getAccessToken().getJwtToken());
- // console.log('id token + ' + result.getIdToken().getJwtToken());
- // console.log('refresh token + ' + result.getRefreshToken().getToken());
- req.flash('success_msg', 'Logged in');
- res.redirect('/dashboard');
- },
- onFailure: function(err) {
- req.flash('success_msg', err.message);
- res.redirect('/dashboard');
- console.log(err);
- },
- });
- })
- app.get('/register', (req, res) => {
- let userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
- let cognitoUser = userPool.getCurrentUser();
- if(cognitoUser === null) {
- res.render('register')
- }
- else {
- res.redirect('/dashboard')
- }
- })
- app.post('/register', (req, res) => {
- let userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
- let username = req.body.email;
- let password = req.body.password;
- let personalname = req.body.name;
- let attributeList = [];
- let dataEmail = {
- Name : 'email',
- Value : username, //get from form field
- };
- let dataPersonalName = {
- Name : 'name',
- Value : personalname, //get from form field
- };
- let attributeEmail = new AmazonCognitoIdentity.CognitoUserAttribute(dataEmail);
- let attributePersonalName = new AmazonCognitoIdentity.CognitoUserAttribute(dataPersonalName);
- attributeList.push(attributeEmail);
- attributeList.push(attributePersonalName);
- userPool.signUp(username, password, attributeList, null, function(err, result){
- if (err) {
- req.flash('error_msg', err.message);
- res.redirect('/register');
- return;
- }
- res.render('verify', {user: result.user.getUsername()})
- });
- })
- app.post('/activation-code', (req, res) => {
- let userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
- let email = req.body.username;
- let activation_code = req.body.activation_code;
- let userData = {
- Username: email,
- Pool: userPool
- };
- let cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
- // signing up
- cognitoUser.confirmRegistration(activation_code, false, (error, result) => {
- if (error) {
- console.log(error)
- req.flash('error_msg', error.message)
- res.render('verify', {user: email})
- }
- else {
- req.flash('success_msg', 'You have successfully verified your email. You can now log in.')
- res.redirect('/')
- }
- });
- })
Add Comment
Please, Sign In to add comment