adminUpdateDeviceStatus method
Updates the status of a user's device so that it is marked as remembered or not remembered for the purpose of device authentication. Device authentication is a "remember me" mechanism that silently completes sign-in from trusted devices with a device key instead of a user-provided MFA code. This operation changes the status of a device without deleting it, so you can enable it again later. For more information about device authentication, 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.
May throw UserNotFoundException.
Parameter deviceKey :
The unique identifier, or device key, of the device that you want to
update the status for.
Parameter userPoolId :
The ID of the user pool where you want to change a user's device status.
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 deviceRememberedStatus :
To enable device authentication with the specified device, set to
remembered.To disable, set to not_remembered.
Implementation
Future<void> adminUpdateDeviceStatus({
required String deviceKey,
required String userPoolId,
required String username,
DeviceRememberedStatusType? deviceRememberedStatus,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target':
'AWSCognitoIdentityProviderService.AdminUpdateDeviceStatus'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'DeviceKey': deviceKey,
'UserPoolId': userPoolId,
'Username': username,
if (deviceRememberedStatus != null)
'DeviceRememberedStatus': deviceRememberedStatus.value,
},
);
}