generateEmbedUrlForRegisteredUserWithIdentity method
Generates an embed URL that you can use to embed an Amazon Quick Sight experience in your website. This action can be used for any type of user that is registered in an Amazon Quick Sight account that uses IAM Identity Center for authentication. This API requires identity-enhanced IAM Role sessions for the authenticated user that the API call is being made for.
This API uses trusted
identity propagation to ensure that an end user is authenticated and
receives the embed URL that is specific to that user. The IAM Identity
Center application that the user has logged into needs to have trusted
Identity Propagation enabled for Amazon Quick Sight with the scope
value set to quicksight:read. Before you use this action,
make sure that you have configured the relevant Amazon Quick Sight
resource and permissions.
May throw AccessDeniedException.
May throw InternalFailureException.
May throw InvalidParameterValueException.
May throw QuickSightUserNotFoundException.
May throw ResourceNotFoundException.
May throw SessionLifetimeInMinutesInvalidException.
May throw ThrottlingException.
May throw UnsupportedPricingPlanException.
May throw UnsupportedUserEditionException.
Parameter awsAccountId :
The ID of the Amazon Web Services registered user.
Parameter allowedDomains :
A list of domains to be allowed to generate the embed URL.
Parameter sessionLifetimeInMinutes :
The validity of the session in minutes.
Implementation
Future<GenerateEmbedUrlForRegisteredUserWithIdentityResponse>
generateEmbedUrlForRegisteredUserWithIdentity({
required String awsAccountId,
required RegisteredUserEmbeddingExperienceConfiguration
experienceConfiguration,
List<String>? allowedDomains,
int? sessionLifetimeInMinutes,
}) async {
_s.validateNumRange(
'sessionLifetimeInMinutes',
sessionLifetimeInMinutes,
15,
600,
);
final $payload = <String, dynamic>{
'ExperienceConfiguration': experienceConfiguration,
if (allowedDomains != null) 'AllowedDomains': allowedDomains,
if (sessionLifetimeInMinutes != null)
'SessionLifetimeInMinutes': sessionLifetimeInMinutes,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/accounts/${Uri.encodeComponent(awsAccountId)}/embed-url/registered-user-with-identity',
exceptionFnMap: _exceptionFns,
);
return GenerateEmbedUrlForRegisteredUserWithIdentityResponse.fromJson(
response);
}