Skip to content

lookup_developer_identity async

lookup_developer_identity(
    identity_pool_id: IdentityPoolId,
    *,
    config_overrides: Optional[AsyncCognitoIdentityClientConfig] = None,
    identity_id: Optional[IdentityId] = None,
    developer_user_identifier: Optional[DeveloperUserIdentifier] = None,
    max_results: Optional[QueryLimit] = None,
    next_token: Optional[PaginationKey] = None,
) -> LookupDeveloperIdentityResponse

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 Amazon Web Services developer credentials to call this operation.

Parameters:

  • identity_pool_id (IdentityPoolId) –

    An identity pool ID in the format REGION:GUID.

  • identity_id (Optional[IdentityId], default: None ) –

    A unique identifier in the format REGION:GUID.

  • developer_user_identifier (Optional[DeveloperUserIdentifier], default: None ) –

    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.

  • max_results (Optional[QueryLimit], default: None ) –

    The maximum number of identities to return.

  • next_token (Optional[PaginationKey], default: None ) –

    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.

Raises:

Source code in docs_src/capo_cognito_identity/_services/async_cognito_identity.py
async def lookup_developer_identity(
    self,
    identity_pool_id: "capo_cognito_identity.types.identity_pool_id.IdentityPoolId",
    *,
    config_overrides: Optional[AsyncCognitoIdentityClientConfig] = None,
    identity_id: Optional[
        "capo_cognito_identity.types.identity_id.IdentityId"
    ] = None,
    developer_user_identifier: Optional[
        "capo_cognito_identity.types.developer_user_identifier.DeveloperUserIdentifier"
    ] = None,
    max_results: Optional[
        "capo_cognito_identity.types.query_limit.QueryLimit"
    ] = None,
    next_token: Optional[
        "capo_cognito_identity.types.pagination_key.PaginationKey"
    ] = None,
) -> "capo_cognito_identity.types.lookup_developer_identity_response.LookupDeveloperIdentityResponse":
    """<p>Retrieves the <code>IdentityID</code> associated with a <code>DeveloperUserIdentifier</code> or the list of <code>DeveloperUserIdentifier</code> values associated with an <code>IdentityId</code> for an existing identity. Either <code>IdentityID</code> or <code>DeveloperUserIdentifier</code> 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, <code>DeveloperUserIdentifier</code> will be matched against <code>IdentityID</code>. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise, a <code>ResourceConflictException</code> is thrown.</p> <p> <code>LookupDeveloperIdentity</code> 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. <a>GetOpenIdTokenForDeveloperIdentity</a> is a better option for higher-volume operations for user authentication.</p> <p>You must use Amazon Web Services developer credentials to call this operation.</p>

    Args:
        identity_pool_id: <p>An identity pool ID in the format REGION:GUID.</p>
        identity_id: <p>A unique identifier in the format REGION:GUID.</p>
        developer_user_identifier: <p>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.</p>
        max_results: <p>The maximum number of identities to return.</p>
        next_token: <p>A pagination token. The first call you make will have <code>NextToken</code> set to null. After that the service will return <code>NextToken</code> values as needed. For example, let's say you make a request with <code>MaxResults</code> 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.</p>

    Raises:
        capo_cognito_identity.errors.internal_error_exception.InternalErrorException: <p>Thrown when the service encounters an error during processing the request.</p>
        capo_cognito_identity.errors.invalid_parameter_exception.InvalidParameterException: <p>Thrown for missing or bad input parameter(s).</p>
        capo_cognito_identity.errors.not_authorized_exception.NotAuthorizedException: <p>Thrown when a user is not authorized to access the requested resource.</p>
        capo_cognito_identity.errors.resource_conflict_exception.ResourceConflictException: <p>Thrown when a user tries to use a login which is already linked to another account.</p>
        capo_cognito_identity.errors.resource_not_found_exception.ResourceNotFoundException: <p>Thrown when the requested resource (for example, a dataset or record) does not exist.</p>
        capo_cognito_identity.errors.too_many_requests_exception.TooManyRequestsException: <p>Thrown when a request is throttled.</p>
        capo_cognito_identity.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_cognito_identity.types.lookup_developer_identity_input.LookupDeveloperIdentityInput]",
    ) -> AsyncOperationResponse[
        "capo_cognito_identity.types.lookup_developer_identity_response.LookupDeveloperIdentityResponse"
    ]:
        import capo_cognito_identity._operations.aws_cognito_identity_service.lookup_developer_identity

        (
            output,
            http_response,
        ) = await capo_cognito_identity._operations.aws_cognito_identity_service.lookup_developer_identity.async_lookup_developer_identity(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("LookupDeveloperIdentity")
    )
    input_: capo_cognito_identity.types.lookup_developer_identity_input.LookupDeveloperIdentityInput = {
        "identity_pool_id": identity_pool_id
    }
    if identity_id is not None:
        input_["identity_id"] = identity_id
    if developer_user_identifier is not None:
        input_["developer_user_identifier"] = developer_user_identifier
    if max_results is not None:
        input_["max_results"] = max_results
    if next_token is not None:
        input_["next_token"] = next_token

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output