2016-07-04 101 views
0

以下是我的app.js文件。在瀏覽器上,當用戶點擊提交按鈕時,調用方法app.post('/ttt', function (req,res)。我正嘗試用Amazon Cognito成功註冊用戶。但是,我收到一條錯誤消息,指出AWSCognito未定義。我該如何解決這個問題?Amazon Cognito with Javascript AWSCognito未定義錯誤

我正在關注this教程。

var express = require('express'); 

var AWSCognito = require('/Applications/XAMPP/xamppfiles/htdocs/my/p/js/aws-cognito-sdk.js'); 

var app = express(); 
var bodyParser = require('body-parser'); 
app.use(bodyParser.json()); 

var urlencodedParser = bodyParser.urlencoded({ extended: false }); 
var jsonParser = bodyParser.json(); 

var path = require('path'); 
app.use(bodyParser.json()); 

var http = require('http'); 
var fs = require('fs'); 
var ejs = require('ejs'); 
var formidable = require("formidable"); 
var util = require('util'); 
var AWS = require('aws-sdk'); 


app.post('/ttt', function (req,res){ 

    AWS.config.region = 'us-east-1'; // Region 
    AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
     IdentityPoolId: '...' // your identity pool id here 
    }); 

    AWSCognito.config.region = 'us-east-1'; 
    AWSCognito.config.credentials = new AWS.CognitoIdentityCredentials({ 
     IdentityPoolId: '...' // your identity pool id here 
    }); 

    // Need to provide placeholder keys unless unauthorised user access is enabled for user pool 
    AWSCognito.config.update({accessKeyId: 'anything', secretAccessKey: ''}) 

    var poolData = { 
     UserPoolId : 'us-east-1_TcoKGbf7n', 
     ClientId : '4pe2usejqcdmhi0a25jp4b5sh3' 
    }; 
    var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData); 

    var attributeList = []; 

    var dataEmail = { 
     Name : 'email', 
     Value : '[email protected]' 
    }; 
    var dataPhoneNumber = { 
     Name : 'phone_number', 
     Value : '+15555555555' 
    }; 
    var attributeEmail = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataEmail); 
    var attributePhoneNumber = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataPhoneNumber); 

    attributeList.push(attributeEmail); 
    attributeList.push(attributePhoneNumber); 

    userPool.signUp('username', 'password', attributeList, null, function(err, result){ 
     if (err) { 
      alert(err); 
      return; 
     } 
     cognitoUser = result.user; 
     console.log('user name is ' + cognitoUser.getUsername()); 
    }); 

} 

回答

2

AWS目前不支持'require'導入Cognito javascript SDK。您可以在手動導出SDK後再試一次

+2

下次您能否詳細說明一下示例,謝謝! – jamesjara