如何按子/UUID 查找认知用户?

我想在我的Cognito用户池中按他们的子用户查找用户,据我所知,这只是他们的UUID。我想在 Lambda 函数中的 Java 中执行此操作,但在 AWS 的文档中找到如何执行此操作。有什么想法吗?


答案 1

现在它的工作原理。http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html

受支持属性列表中的“sub”。JavaScript 示例:

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.");
        }
    }
});

答案 2

截至今天,这在Cognito用户池中是不可能的。

只能使用用户的用户名或别名来查找用户。ListUsers API 还允许通过在某些标准属性上提供搜索筛选器来搜索用户,但 sub 不是其中之一。


推荐