I want to find users by their sub uuid.
In v2 (inspired from How do I look up a cognito user by their sub/UUID?)
require('dotenv').config();
var AWS = require('aws-sdk');
AWS.config.setPromisesDependency(require('bluebird'));
module.exports = {
get: async function (uuid) {
var cog = new AWS.CognitoIdentityServiceProvider({
region: process.env.AWS_REGION,
accessKeyId: process.env.AWS_COGNITO_ACCESS_ID,
secretAccessKey: process.env.AWS_COGNITO_SECRET_ACCESS_KEY,
});
var filter = "sub = \"" + uuid + "\"";
var req = {
"Filter": filter,
"UserPoolId": process.env.AWS_COGNITO_USER_POOL_ID
};
try {
var result = await cog.listUsers(req).promise();
var name = result.Users[0].Attributes.find(u => u.Name == "name");
var mail = result.Users[0].Attributes.find(u => u.Name == "email");
return { 'name': name.Value, 'mail': mail.Value };
} catch (error) {
console.log(error)
}
},
}
Ok it's now working thanks to aws-sdk-js-codemod
require('dotenv').config();
const
{
CognitoIdentityProvider: CognitoIdentityServiceProvider
} = require("@aws-sdk/client-cognito-identity-provider");
module.exports = {
get: async function (uuid) {
var cog = new CognitoIdentityServiceProvider({
region: process.env.AWS_REGION,
credentials: {
accessKeyId: process.env.AWS_COGNITO_ACCESS_ID,
secretAccessKey: process.env.AWS_COGNITO_SECRET_ACCESS_KEY
}
});
var filter = "sub = \"" + uuid + "\"";
var req = {
"Filter": filter,
"UserPoolId": process.env.AWS_COGNITO_USER_POOL_ID
};
try {
var result = await cog.listUsers(req);
var name = result.Users[0].Attributes.find(u => u.Name == "name");
var mail = result.Users[0].Attributes.find(u => u.Name == "email");
return { 'name': name.Value, 'mail': mail.Value };
} catch (error) {
console.log(error)
}
},
}