Я интегрирую платежное решение, которое использует веб-хуки. Поставщик платежа получает идентификатор пользователя Cognito (или пользовательскую подпрограмму) во время оформления заказа. После успешной оплаты провайдер платежа вызывает веб-ловушку, которую я реализовал, используя AWS Lambda / Gateway и Python. В рамках этого веб-хука я получаю статус платежа и идентификатор пользователя Cognito.
Далее я хотел бы обновить или установить атрибут для данного идентификатора пользователя Cognito для статуса подписки.
Я нашел фрагменты кода JavaScript, которые, похоже, меня там и поняли, но я что-то упускаю из-за того, как это должно работать. Вот код JS, который я нашел для поиска пользователя:
var cog = new AWS.CognitoIdentityServiceProvider();
var filter = "sub = \"" + userSub + "\"";
var req = {
"Filter": filter,
"UserPoolId": "your pool id" // looks like us-east-9_KDFn1cvys
};
cog.listUsers(req, function(err, data) {
if (err) {
console.log(err);
}
else {
if (data.Users.length === 1){ //as far as we search by sub, should be only one user.
var user = data.Users[0];
var attributes = data.Users[0].Attributes;
} else {
console.log("Something wrong.");
}
}
});
Мне нужна версия Python, описанная выше ... также я не совсем уверен, как инициализировать AWS.CognitoIdentityServiceProvider для выполнения поиска. Кажется, мне нужно настроить учетные данные IAM для поиска в пуле идентификации пользователя, нет?
Буду признателен за любые указания по поиску пользователя в пуле идентификации Cognito с использованием Python!