adminListDevices method
Lists a user's registered devices. Remembered devices are used in authentication services where you offer a "Remember me" option for users who you want to permit to sign in without MFA from a trusted device. Users can bypass MFA while your application performs device SRP authentication on the back end. For more information, see Working with devices.
Learn more
- Signing Amazon Web Services API Requests
- Using the Amazon Cognito user pools API and user pool endpoints
May throw InternalErrorException.
May throw InvalidParameterException.
May throw InvalidUserPoolConfigurationException.
May throw NotAuthorizedException.
May throw OperationNotEnabledException.
May throw ResourceNotFoundException.
May throw TooManyRequestsException.
Parameter userPoolId :
The ID of the user pool where the device owner is a user.
Parameter username :
The name of the user that you want to query or modify. The value of this
parameter is typically your user's username, but it can be any of their
alias attributes. If username isn't an alias attribute in
your user pool, this value must be the sub of a local user or
the username of a user from a third-party IdP.
Parameter limit :
The maximum number of devices that you want Amazon Cognito to return in
the response.
Parameter paginationToken :
This API operation returns a limited number of results. The pagination
token is an identifier that you can present in an additional API request
with the same parameters. When you include the pagination token, Amazon
Cognito returns the next set of items after the current list. Subsequent
requests return a new pagination token. By use of this token, you can
paginate through the full list of items.
Implementation
Future<AdminListDevicesResponse> adminListDevices({
required String userPoolId,
required String username,
int? limit,
String? paginationToken,
}) async {
_s.validateNumRange(
'limit',
limit,
0,
60,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSCognitoIdentityProviderService.AdminListDevices'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'UserPoolId': userPoolId,
'Username': username,
if (limit != null) 'Limit': limit,
if (paginationToken != null) 'PaginationToken': paginationToken,
},
);
return AdminListDevicesResponse.fromJson(jsonResponse.body);
}