【发布时间】:2018-06-09 07:53:58
【问题描述】:
我创建了一个 lambda,它检索用户属性为(用户名、电子邮件、姓名...等)但是,我想知道如何在不显式硬编码子值的情况下获取用户属性以获取所有其他相关属性?我是否需要在前端解码 JWT Cognito 令牌并在 lambda 中使用它来确定正确的用户并检索相关属性?
这是我在 Node.JS 中的 lambda:
const AWS = require('aws-sdk');
exports.handler = function(event, context) {
var cog = new AWS.CognitoIdentityServiceProvider();
var filter = "sub = \"" + "UserSUB" + "\"";
var req = {
"Filter": filter,
"UserPoolId": 'POOL here',
};
cog.listUsers(req, function(err, data) {
if (err) {
console.log(err);
}
else {
if (data.Users.length === 1){
var user = data.Users[0];
var attributes = data.Users[0].Attributes;
console.log(JSON.stringify(attributes));
} else {
console.log("error.");
}
}
});
}
【问题讨论】: