gpt4 book ai didi

javascript - 来自 Lambda 的 AWS Cognito adminCreateUser,使用 Amplify CLI 创建

转载 作者:行者123 更新时间:2023-12-04 08:35:51 26 4
gpt4 key购买 nike

我使用 Amplify CLI 创建了一个 Lambda 函数,在执行 Lambda 函数时执行没有错误,但没有创建 Cognito 用户。
我在这里缺少什么?
我已经检查了 CloudWatch 日志,但也没有发现错误。
我一直在关注这个文档:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminCreateUser-property

/* Amplify Params - DO NOT EDIT
AUTH_XXXXXXXXXXXXXXXXXXXX_USERPOOLID
ENV
REGION
Amplify Params - DO NOT EDIT */

const AWS = require('aws-sdk');
AWS.config.update({ region: process.env.AWS_REGION,accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY });

const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({ apiVersion: '2016-04-18' });

//console.log(process.env);

exports.handler = async (event) => {
let retailerid = event.pathParameters.retailerid;

let params = {
UserPoolId: process.env.AUTH_XXXXXXXXXXXXXXXXXXXX_USERPOOLID, /* required */
Username: 'testtest', /* required */
ClientMetadata: {
},
DesiredDeliveryMediums: [
'EMAIL'
],
ForceAliasCreation: false,
MessageAction: 'SUPPRESS',
TemporaryPassword: 'mynuw000000000TTS',
UserAttributes: [
{
Name: 'custom:app_role', /* required */
Value: 'retail'
},
{
Name: 'email_verified', /* required */
Value: 'true'
},
{
Name: 'email', /* required */
Value: 'usersname@someemail.co.za'
},
{
Name: 'phone_number', /* required */
Value: '27833260000'
},
/* more items */
],
ValidationData: [

/* more items */
]
};
await cognitoidentityserviceprovider.adminCreateUser(params, function (err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log('SUCCESS', data); // successful response
});

// TODO implement
const response = {
statusCode: 200,
// Uncomment below to enable CORS requests
headers: {
"Access-Control-Allow-Origin": "*"
},
body: JSON.stringify(retailerid),
};
return response;
};

最佳答案

enter image description here
测试事件

{
"request": {
"userAttributes": {
"custom:name": "Ajay",
"email": "ajay@gmail.com",
"custom:role": "Admin"
}
},
"response": {}
}

Lambda 函数
var AWS = require('aws-sdk');

var resp200ok = { statusCode: 200, headers: {'Content-Type': 'application/json'}, body: {} };

var cognitoidentityserviceprovider = new
AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});


exports.handler = function(event, context, callback){
const attributes = event.request.userAttributes; // read user attributes from event

console.log('User Role : ',attributes['custom:role'])

var params = {
UserPoolId:'*********',
Username: attributes.email,
//TemporaryPassword: 'Password!1',
DesiredDeliveryMediums: ["EMAIL"],
UserAttributes: [
{
Name: "email",
Value: attributes.email
},
{
Name: 'email_verified', /* required */
Value: 'true'
},
{
Name: 'custom:name', /* required */
Value: attributes['custom:name']
},
{
Name: 'custom:role', /* required */
Value: attributes['custom:role']
},
],
};

cognitoidentityserviceprovider.adminCreateUser(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log('SUCCESS', data); // successful response
});
};

关于javascript - 来自 Lambda 的 AWS Cognito adminCreateUser,使用 Amplify CLI 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64805564/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com