updateIdentityProvider method

Future<UpdateIdentityProviderResponse> updateIdentityProvider({
  1. required String identityProviderArn,
  2. String? clientToken,
  3. Map<String, String>? identityProviderDetails,
  4. String? identityProviderName,
  5. IdentityProviderType? identityProviderType,
})

Updates the identity provider.

May throw AccessDeniedException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw ValidationException.

Parameter identityProviderArn : The ARN of the identity provider.

Parameter clientToken : A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

Parameter identityProviderDetails : The details of the identity provider. The following list describes the provider detail keys for each identity provider type.

  • For Google and Login with Amazon:
    • client_id
    • client_secret
    • authorize_scopes
  • For Facebook:
    • client_id
    • client_secret
    • authorize_scopes
    • api_version
  • For Sign in with Apple:
    • client_id
    • team_id
    • key_id
    • private_key
    • authorize_scopes
  • For OIDC providers:
    • client_id
    • client_secret
    • attributes_request_method
    • oidc_issuer
    • authorize_scopes
    • authorize_url if not available from discovery URL specified by oidc_issuer key
    • token_url if not available from discovery URL specified by oidc_issuer key
    • attributes_url if not available from discovery URL specified by oidc_issuer key
    • jwks_uri if not available from discovery URL specified by oidc_issuer key
  • For SAML providers:
    • MetadataFile OR MetadataURL
    • IDPSignout (boolean) optional
    • IDPInit (boolean) optional
    • RequestSigningAlgorithm (string) optional - Only accepts rsa-sha256
    • EncryptedResponses (boolean) optional

Parameter identityProviderName : The name of the identity provider.

Parameter identityProviderType : The type of the identity provider.

Implementation

Future<UpdateIdentityProviderResponse> updateIdentityProvider({
  required String identityProviderArn,
  String? clientToken,
  Map<String, String>? identityProviderDetails,
  String? identityProviderName,
  IdentityProviderType? identityProviderType,
}) async {
  final $payload = <String, dynamic>{
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (identityProviderDetails != null)
      'identityProviderDetails': identityProviderDetails,
    if (identityProviderName != null)
      'identityProviderName': identityProviderName,
    if (identityProviderType != null)
      'identityProviderType': identityProviderType.value,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PATCH',
    requestUri:
        '/identityProviders/${identityProviderArn.split('/').map(Uri.encodeComponent).join('/')}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateIdentityProviderResponse.fromJson(response);
}