createIdentityProvider method
Creates an identity provider resource that is then associated with a web portal.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ServiceQuotaExceededException.
May throw ThrottlingException.
May throw ValidationException.
Parameter identityProviderDetails :
The identity provider details. 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 identity provider name.
Parameter identityProviderType :
The identity provider type.
Parameter portalArn :
The ARN of the web portal.
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
returns 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 tags :
The tags to add to the identity provider resource. A tag is a key-value
pair.
Implementation
Future<CreateIdentityProviderResponse> createIdentityProvider({
required Map<String, String> identityProviderDetails,
required String identityProviderName,
required IdentityProviderType identityProviderType,
required String portalArn,
String? clientToken,
List<Tag>? tags,
}) async {
final $payload = <String, dynamic>{
'identityProviderDetails': identityProviderDetails,
'identityProviderName': identityProviderName,
'identityProviderType': identityProviderType.value,
'portalArn': portalArn,
'clientToken': clientToken ?? _s.generateIdempotencyToken(),
if (tags != null) 'tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/identityProviders',
exceptionFnMap: _exceptionFns,
);
return CreateIdentityProviderResponse.fromJson(response);
}