lookupDeveloperIdentity method
Retrieves the IdentityID
associated with a
DeveloperUserIdentifier
or the list of
DeveloperUserIdentifier
values associated with an
IdentityId
for an existing identity. Either
IdentityID
or DeveloperUserIdentifier
must not
be null. If you supply only one of these values, the other value will be
searched in the database and returned as a part of the response. If you
supply both, DeveloperUserIdentifier
will be matched against
IdentityID
. If the values are verified against the database,
the response returns both values and is the same as the request. Otherwise
a ResourceConflictException
is thrown.
LookupDeveloperIdentity
is intended for low-throughput
control plane operations: for example, to enable customer service to
locate an identity ID by username. If you are using it for higher-volume
operations such as user authentication, your requests are likely to be
throttled. GetOpenIdTokenForDeveloperIdentity is a better option
for higher-volume operations for user authentication.
You must use AWS Developer credentials to call this API.
May throw InvalidParameterException. May throw ResourceNotFoundException. May throw NotAuthorizedException. May throw ResourceConflictException. May throw TooManyRequestsException. May throw InternalErrorException.
Parameter identityPoolId
:
An identity pool ID in the format REGION:GUID.
Parameter developerUserIdentifier
:
A unique ID used by your backend authentication process to identify a
user. Typically, a developer identity provider would issue many developer
user identifiers, in keeping with the number of users.
Parameter identityId
:
A unique identifier in the format REGION:GUID.
Parameter maxResults
:
The maximum number of identities to return.
Parameter nextToken
:
A pagination token. The first call you make will have
NextToken
set to null. After that the service will return
NextToken
values as needed. For example, let's say you make a
request with MaxResults
set to 10, and there are 20 matches
in the database. The service will return a pagination token as a part of
the response. This token can be used to call the API again and get results
starting from the 11th match.
Implementation
Future<LookupDeveloperIdentityResponse> lookupDeveloperIdentity({
required String identityPoolId,
String? developerUserIdentifier,
String? identityId,
int? maxResults,
String? nextToken,
}) async {
ArgumentError.checkNotNull(identityPoolId, 'identityPoolId');
_s.validateStringLength(
'identityPoolId',
identityPoolId,
1,
55,
isRequired: true,
);
_s.validateStringLength(
'developerUserIdentifier',
developerUserIdentifier,
1,
1024,
);
_s.validateStringLength(
'identityId',
identityId,
1,
55,
);
_s.validateNumRange(
'maxResults',
maxResults,
1,
60,
);
_s.validateStringLength(
'nextToken',
nextToken,
1,
65535,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSCognitoIdentityService.LookupDeveloperIdentity'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'IdentityPoolId': identityPoolId,
if (developerUserIdentifier != null)
'DeveloperUserIdentifier': developerUserIdentifier,
if (identityId != null) 'IdentityId': identityId,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
},
);
return LookupDeveloperIdentityResponse.fromJson(jsonResponse.body);
}