Case 1: third-party cookies blocked (default); click “next dashboard” → error.
Case 2: third-party cookies allowed; click “next dashboard” → show next dashboard.
This is analysis:
This is my code:
// controller.php
public function indexDashboard(Request $request) {
$dashboardId = 'xxxxxxx-xxxx....';
$quicksightUserArn = $request->session()->get('quicksight_user_arn');
$quicksightClient = AWS::createClient('quicksight');
$result = $quicksightClient->generateEmbedUrlForRegisteredUser([
'AllowedDomains' => [config('app.url')],
'AwsAccountId' => config('app.aws_account_id'),
'ExperienceConfiguration' => [
'Dashboard' => [
'InitialDashboardId' => $dashboardId,
],
],
'UserArn' => $quicksightUserArn,
]);
$embedUrl = $result['EmbedUrl'];
return view('dashboard', ['embedUrl' => $embedUrl]);
}
/* dashboard.blade.php */
<!DOCTYPE html>
<html> <head> <title>{{ config('app.name', 'Laravel') }}</title>
<script src="{{ asset('/assets/js/unpkg.com_amazon-quicksight-embedding-sdk@2.3.0_dist_quicksight-embedding-js-sdk.min.js') }}"></script>
<script type="text/javascript">
const embedDashboard = async() => {
const { createEmbeddingContext} = QuickSightEmbedding;
const embeddingContext = await createEmbeddingContext();
const frameOptions = {
url: '<?php echo $embedUrl ?>',
container: '#experience-container',
resizeHeightOnSizeChangedEvent: false,
};
const contentOptions = {
toolbarOptions: { export: false, undoRedo: true, reset: true},
attributionOptions: {overlayContent: false,}
};
const embeddedDashboardExperience = await embeddingContext.embedDashboard(frameOptions, contentOptions);
};
</script>
</head>
<body onload="embedDashboard()"> <div id="experience-container"></div> </body>
</html>
Could you help me fix case 1? Please.
Third-party cookies are blocked by default.