diff --git a/moto/cognitoidp/responses.py b/moto/cognitoidp/responses.py index 80247b076..a170b7541 100644 --- a/moto/cognitoidp/responses.py +++ b/moto/cognitoidp/responses.py @@ -279,9 +279,13 @@ class CognitoIdpResponse(BaseResponse): user_pool_id = self._get_param("UserPoolId") limit = self._get_param("Limit") token = self._get_param("PaginationToken") + filt = self._get_param("Filter") users, token = cognitoidp_backends[self.region].list_users( user_pool_id, limit=limit, pagination_token=token ) + if filt: + name, value = filt.replace('"', '').split('=') + users = [user for user in users for attribute in user.attributes if attribute['Name'] == name and attribute['Value'] == value] response = {"Users": [user.to_json(extended=True) for user in users]} if token: response["PaginationToken"] = str(token)