我从AWS-Cognito开始。我已经在Amazon平台上创建了一个用户池和一个UserPoolClient。我正在实施执行用户注册的lambda(作为测试(。但是,尝试使用邮递员返回"内部服务器错误"来运行它。这是我的lambda的代码。
module.exports.register = async event => {
var AmazonCognitoIdentity = require('amazon-cognito-identity-js');
var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool;
var poolData = {
UserPoolId: '...', // Here, I put my UserPoolId
ClientId: '...' // Here, I put my ClientId
};
var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
var attributeList = [];
var dataEmail = {
Name: 'email',
Value: 'myemail@gmail.com'
};
var dataPhoneNumber = {
Name: 'phone_number',
Value: '+15555555555'
};
var attributeEmail = new AmazonCognitoIdentity.CognitoUserAttribute(dataEmail);
var attributePhoneNumber = new AmazonCognitoIdentity.CognitoUserAttribute(dataPhoneNumber);
attributeList.push(attributeEmail);
attributeList.push(attributePhoneNumber);
var cognitoUser = ''
userPool.signUp('myemail@gmail.com', 'MyPassword7.com', attributeList, null, function (err, result) {
if (err) {
cognitoUser = err;
}
cognitoUser = result.user;
});
return {
statusCode: 200,
body: JSON.stringify(
{
message: 'Go Serverless v1.0! Your function executed successfully!',
input: event,
cognitoUser: cognitoUser
},
null,
2
),
};
我认为您需要在响应中添加适当的标题
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': true,
'Content-Type': 'application/json',
},