Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以使用ListUsers API通过用户查询Cognito用户池吗';乌伊德?_Java_Amazon Web Services_Aws Cognito - Fatal编程技术网

Java 我可以使用ListUsers API通过用户查询Cognito用户池吗';乌伊德?

Java 我可以使用ListUsers API通过用户查询Cognito用户池吗';乌伊德?,java,amazon-web-services,aws-cognito,Java,Amazon Web Services,Aws Cognito,cognito用户池的文档可以在这里找到: 在这种情况下,它们不会说明是否可以通过自动生成的子属性(uuid)查询用户。它明确表示不能通过自定义属性搜索用户,但sub/uuid不是自定义属性。奇怪的是,在可搜索属性列表中,sub/uuid不是其中之一。当然,尽管您可以通过用户的UUID查找用户,但这将如何实现???您知道,我使用过COgnito,但从未需要通过sub(或用户名以外的其他参数)进行查找。我研究了它,因为您当然可以,但它不是很清楚(就像他们的许多文档一样)。这是我看到的,你可以试试

cognito用户池的文档可以在这里找到:


在这种情况下,它们不会说明是否可以通过自动生成的子属性(uuid)查询用户。它明确表示不能通过自定义属性搜索用户,但sub/uuid不是自定义属性。奇怪的是,在可搜索属性列表中,sub/uuid不是其中之一。当然,尽管您可以通过用户的UUID查找用户,但这将如何实现???

您知道,我使用过COgnito,但从未需要通过sub(或用户名以外的其他参数)进行查找。我研究了它,因为您当然可以,但它不是很清楚(就像他们的许多文档一样)。这是我看到的,你可以试试。。。希望它能帮助人类

        // the imported ListUsersResult is...
        import com.amazonaws.services.cognitoidp.model.ListUsersRequest;
        import com.amazonaws.services.cognitoidp.model.ListUsersResult;

             // class var

         protected final AWSCognitoIdentityProviderClient identityUserPoolProviderClient;

        // omitted stuff... 
        // initialize the Cognito Provider client.  This is used to talk to the user pool
        identityUserPoolProviderClient = new AWSCognitoIdentityProviderClient(new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY)); // creds are loaded via variables that are supplied to my program dynamically
        identityUserPoolProviderClient.setRegion(RegionUtils.getRegion(USER_POOL_REGION)); // var loaded 


        // ...some code omitted        
        ListUsersRequest listUsersRequest = new ListUsersRequest();
        listUsersRequest.withUserPoolId(USER_POOL_ID); // id of the userpool, look this up in Cognito console
        listUsersRequest.withFilter("sub=xyz");  // i THINK this is how the Filter works... the documentation is terribad


    // get the results 
    ListUsersResult result = identityUserPoolProviderClient.listUsers(listUsersRequest); 

    List<UserType> userTypeList = result.getUsers();
    // loop through them
    for (UserType userType : userTypeList) {
        List<AttributeType> attributeList = userType.getAttributes();
        for (AttributeType attribute : attributeList) {
            String attName = attribute.getName();
            String attValue = attribute.getValue();
            System.out.println(attName + ": " + attValue);
        }
    }

你知道,我使用过COgnito,但从不需要通过sub(或用户名以外的其他参数)进行查找。我研究了它,因为您当然可以,但它不是很清楚(就像他们的许多文档一样)。这是我看到的,你可以试试。。。希望它能帮助人类

        // the imported ListUsersResult is...
        import com.amazonaws.services.cognitoidp.model.ListUsersRequest;
        import com.amazonaws.services.cognitoidp.model.ListUsersResult;

             // class var

         protected final AWSCognitoIdentityProviderClient identityUserPoolProviderClient;

        // omitted stuff... 
        // initialize the Cognito Provider client.  This is used to talk to the user pool
        identityUserPoolProviderClient = new AWSCognitoIdentityProviderClient(new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY)); // creds are loaded via variables that are supplied to my program dynamically
        identityUserPoolProviderClient.setRegion(RegionUtils.getRegion(USER_POOL_REGION)); // var loaded 


        // ...some code omitted        
        ListUsersRequest listUsersRequest = new ListUsersRequest();
        listUsersRequest.withUserPoolId(USER_POOL_ID); // id of the userpool, look this up in Cognito console
        listUsersRequest.withFilter("sub=xyz");  // i THINK this is how the Filter works... the documentation is terribad


    // get the results 
    ListUsersResult result = identityUserPoolProviderClient.listUsers(listUsersRequest); 

    List<UserType> userTypeList = result.getUsers();
    // loop through them
    for (UserType userType : userTypeList) {
        List<AttributeType> attributeList = userType.getAttributes();
        for (AttributeType attribute : attributeList) {
            String attName = attribute.getName();
            String attValue = attribute.getValue();
            System.out.println(attName + ": " + attValue);
        }
    }

非常感谢您的回答,它似乎非常有用,并且符合他们的文档。奇怪的是,虽然我成功地导入了ListUsersRequest库,但我的eclipse告诉我,withFilter不是ListUsersRequest类的方法,这是胡说八道。我已经确认我正在使用正确的ListUsersRequest类并从正确的位置导入它,知道它为什么不工作吗?我还想知道这个代码中的类标识是什么?我查看了AmazonCongnitoIdentityClient类的文档,但它没有方法listUsers,所以我认为不是这样。我使用gradle导入aws cognito。。。这是我使用的lib。有2个“标识”和“idp”。使用“idp”。标识用于用户标识池“idp”“用于用户池。。。事情不止这些,但这是一条很好的经验法则不要将此选项用于ListUsers编译组:“com.amazonaws”,名称:“aws java sdk cognitoidentity”,版本:“1.11.56”//将此选项用于ListUsers。。。编译组:'com.amazonaws',名称:'aws java sdk cognitoidp',版本:'1.11.56'非常感谢您的回答,它似乎非常有用,并且与他们的文档一致。奇怪的是,虽然我成功地导入了ListUsersRequest库,但我的eclipse告诉我,withFilter不是ListUsersRequest类的方法,这是胡说八道。我已经确认我正在使用正确的ListUsersRequest类并从正确的位置导入它,知道它为什么不工作吗?我还想知道这个代码中的类标识是什么?我查看了AmazonCongnitoIdentityClient类的文档,但它没有方法listUsers,所以我认为不是这样。我使用gradle导入aws cognito。。。这是我使用的lib。有2个“标识”和“idp”。使用“idp”。标识用于用户标识池“idp”“用于用户池。。。事情不止这些,但这是一条很好的经验法则不要将此选项用于ListUsers编译组:“com.amazonaws”,名称:“aws java sdk cognitoidentity”,版本:“1.11.56”//将此选项用于ListUsers。。。编译组:“com.amazonaws”,名称:“aws java sdk CognotidP”,版本:“1.11.56”