updateIdentityProvider method
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_urlif not available from discovery URL specified byoidc_issuerkey -
token_urlif not available from discovery URL specified byoidc_issuerkey -
attributes_urlif not available from discovery URL specified byoidc_issuerkey -
jwks_uriif not available from discovery URL specified byoidc_issuerkey
-
-
For SAML providers:
-
MetadataFileORMetadataURL -
IDPSignout(boolean) optional -
IDPInit(boolean) optional -
RequestSigningAlgorithm(string) optional - Only acceptsrsa-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);
}