AWSラムダ関数でAWS Cognito User Poolを使用しようとしています。チュートリアルでは、コードにamazon-cognito-identity.min.jsを含める必要があることがわかりましたが、ノードjでこれを行う方法がわかりません。私はnpmを外部モジュール用にインストールしますが、aws-cognito-identityはモジュールとしてまだ存在していないと思います。メッセージAWSognito.CognitoIdentityServiceProvider.CognitoUserPoolがawsラムダの関数ではありません
aws-sdkをインストールしましたが、SDKにAWSognito.CognitoIdentityServiceProvider.CognitoUserPool関数が存在しません。道による
は、ここに私のコードは、ラムダにあります:
'use strict';
var AWS= require('aws-sdk');
AWS.config.region = 'ap-northeast-1'; // Region
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'ap-northeast-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' // 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: 'anything'})
var poolData = {
UserPoolId : 'us-east-1_xxxxxxxxx',
ClientId : 'xxxxxxxxxxxxxxxxxxxxxxxxx'
};
var userPool = new AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
module.exports.handler = function(event, context, cb) {
var attributeList = [];
var email = event.email;
var username=event.username;
var password = event.password;
var dataEmail = {
Name : 'email',
Value : email
};
var dataPhoneNumber = {
Name : 'phone_number',
Value : '+15555555555'
};
var attributeEmail = new AWS.CognitoIdentityServiceProvider.CognitoUserAttribute(dataEmail);
var attributePhoneNumber = new AWS.CognitoIdentityServiceProvider.CognitoUserAttribute(dataPhoneNumber);
attributeList.push(attributeEmail);
attributeList.push(attributePhoneNumber);
userPool.signUp(username, password, attributeList, null, function(err, result){
if (err) {
alert(err);
return;
}
username = result.user;
}
); return cb(null, username);
};
、ここではラムダ関数をテストするとき、私は取得していますエラーメッセージです:
{
"errorMessage": "AWS.CognitoIdentityServiceProvider.CognitoUserPool is not a function",
"errorType": "TypeError",
"stackTrace": [
"Module._compile (module.js:409:26)",
"Object.Module._extensions..js (module.js:416:10)",
"Module.load (module.js:343:32)",
"Function.Module._load (module.js:300:12)",
"Module.require (module.js:353:17)",
"require (internal/module.js:12:17)"
]
}
すると、このコマンドは、 "NPM -gインストール" とし、同様に動作しませんでした – error2007s
をチェックしてみてください:あなたが持っているでしょう
注
に変更します。問題は、関数自体がjavascriptのaws-sdkソースコード内に見つからないということです。私はamazon-cognito-identity.min.jsファイルでそれを見ることができます。私はちょうど私のコードにそのビットをコピーすることができますが、それが正しい解決策であるように感じていないと思っています。 –
は、GAまでサーバー側の実装がまだ利用できないことを確認しました:https://forums.aws.amazon.com/thread.jspa?threadID=233825&tstart=0 –