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

Mar*_*ane 12 java amazon-web-services amazon-cognito

我希望通过他们的子查找我的Cognito用户池中的用户,据我所知,这只是他们的UUID.我想在Lambda函数中用Java做这个,但是在AWS的文档中找不到如何做到这一点.有什么想法吗?

小智 20

现在它有效. 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.");
        }
    }
});
Run Code Online (Sandbox Code Playgroud)


Che*_*hta 5

截至今天,这对于 Cognito 用户池来说是不可能的。

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

  • 截至今天,ListUsers API 中的过滤器键接受“sub”属性。https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html 例如 - aws cognito-idp list-users --user-pool-id $POOL_ID --filter "sub =\"$SUB_VALUE\"" (10认同)