您如何在 Node.js Lambda 中使用 AWS 用户池函数?
How do you use AWS User Pool functions in a Node.js Lambda?
我正在尝试使用用户池注册用户,并在我的 lambda 中使用并改编了示例 here 中的代码。
我以正常方式引用 AWS:
var AWS = require('aws-sdk');
并尝试引用现有用户池:
AWS.config.region = 'eu-east-1';
var poolData = {
UserPoolId : 'eu-west-1_xxxxxxx',
ClientId : 'xxxxxxx'
};
var userPool = AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
但我收到以下错误:
TypeError: AWS.CognitoIdentityServiceProvider.CognitoUserPool is not a function
我是不是用错了SDK? the setup page 解释了 aws-cognito-sdk.min.js 如何是完整 SDK 的变体,但仅引用 Cognito Identity Service,因此我假设完整 SDK 也将允许我访问它...
有什么想法吗?
您的代码中似乎有语法错误。尝试改变这个:
var userPool = newAWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
为此:
var userPool = new AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
所以,我想通了。首先,是的,您可以使用标准的 aws-sdk。
这是代码:
var params = {
ClientId: 'xxxxxxxxxxxxxx',
Password: 'password',
Username: 'Ross',
UserAttributes: [
{
Name: 'email',
Value: 'email@email.com'
}
]
};
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
cognitoidentityserviceprovider.signUp(params, function(err, data) {
if (err) {
console.log(err, err.stack);
context.fail(err);
} else {
console.log(data);
context.succeed(data);
}
});
我正在尝试使用用户池注册用户,并在我的 lambda 中使用并改编了示例 here 中的代码。
我以正常方式引用 AWS:
var AWS = require('aws-sdk');
并尝试引用现有用户池:
AWS.config.region = 'eu-east-1';
var poolData = {
UserPoolId : 'eu-west-1_xxxxxxx',
ClientId : 'xxxxxxx'
};
var userPool = AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
但我收到以下错误:
TypeError: AWS.CognitoIdentityServiceProvider.CognitoUserPool is not a function
我是不是用错了SDK? the setup page 解释了 aws-cognito-sdk.min.js 如何是完整 SDK 的变体,但仅引用 Cognito Identity Service,因此我假设完整 SDK 也将允许我访问它... 有什么想法吗?
您的代码中似乎有语法错误。尝试改变这个:
var userPool = newAWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
为此:
var userPool = new AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
所以,我想通了。首先,是的,您可以使用标准的 aws-sdk。 这是代码:
var params = {
ClientId: 'xxxxxxxxxxxxxx',
Password: 'password',
Username: 'Ross',
UserAttributes: [
{
Name: 'email',
Value: 'email@email.com'
}
]
};
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
cognitoidentityserviceprovider.signUp(params, function(err, data) {
if (err) {
console.log(err, err.stack);
context.fail(err);
} else {
console.log(data);
context.succeed(data);
}
});