尝试生成 EmbedUrlForRegisteredUser 时出现 CORS 错误
CORS error when try to generateEmbedUrlForRegisteredUser
我有一个 angular 应用程序使用 keycloak 进行身份验证。我正在尝试生成 URL 以嵌入快速查看仪表板,但是当我尝试执行方法 generateEmbedUrlForRegisteredUser
.
时出现此 CORS 错误
我能够取回我的令牌,AssumeRoleWithWebIdentityRequest
并生成一个 AWS.credential
。但是下一步,即生成 URL,在这个端点 https://quicksight.us-east-1.amazonaws.com/accounts/xxxxx/embed-url/registered-user
.
中给我这个 CORS 错误
这是一个示例:
const quicksightClient = this.aws.quickSight();
const generateEmbedUrlForAnonymousUserParams = {
AwsAccountId: 'xxxxx',
onLifetimeInMinutes: 5,
UserArn:
'arn:aws:iam::xxx:user/xxxx',
ExperienceConfiguration: {
Dashboard: {
InitialDashboardId: 'xxxxx',
},
},
};
quicksightClient.generateEmbedUrlForRegisteredUser(
generateEmbedUrlForAnonymousUserParams,
function (err, data) {
...
}
);
我正在尝试按照以下步骤操作:
https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-dashboards-for-everyone.html
我 运行 遇到了同样的问题,然后意识到文档告诉你原因:
Currently, you can use GetDashboardEmbedURL
only from the server, not from the user's browser.
我在使用 RegisterUserCommand
时也遇到了 CORS 错误,所以看起来许多 QuickSight JS SDK 端点都启用了服务器端访问 (NodeJS),并且在浏览器中无法工作。
我认为假设 generateEmbedUrlForRegisteredUser
符合相同的标准是公平的,即使文档中没有指定也是如此。
我的方法是创建一个服务器端端点来生成仪表板 URL。如果您没有后端应用程序,也可以为此使用 lambda。
我有一个 angular 应用程序使用 keycloak 进行身份验证。我正在尝试生成 URL 以嵌入快速查看仪表板,但是当我尝试执行方法 generateEmbedUrlForRegisteredUser
.
我能够取回我的令牌,AssumeRoleWithWebIdentityRequest
并生成一个 AWS.credential
。但是下一步,即生成 URL,在这个端点 https://quicksight.us-east-1.amazonaws.com/accounts/xxxxx/embed-url/registered-user
.
这是一个示例:
const quicksightClient = this.aws.quickSight();
const generateEmbedUrlForAnonymousUserParams = {
AwsAccountId: 'xxxxx',
onLifetimeInMinutes: 5,
UserArn:
'arn:aws:iam::xxx:user/xxxx',
ExperienceConfiguration: {
Dashboard: {
InitialDashboardId: 'xxxxx',
},
},
};
quicksightClient.generateEmbedUrlForRegisteredUser(
generateEmbedUrlForAnonymousUserParams,
function (err, data) {
...
}
);
我正在尝试按照以下步骤操作: https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-dashboards-for-everyone.html
我 运行 遇到了同样的问题,然后意识到文档告诉你原因:
Currently, you can use
GetDashboardEmbedURL
only from the server, not from the user's browser.
我在使用 RegisterUserCommand
时也遇到了 CORS 错误,所以看起来许多 QuickSight JS SDK 端点都启用了服务器端访问 (NodeJS),并且在浏览器中无法工作。
我认为假设 generateEmbedUrlForRegisteredUser
符合相同的标准是公平的,即使文档中没有指定也是如此。
我的方法是创建一个服务器端端点来生成仪表板 URL。如果您没有后端应用程序,也可以为此使用 lambda。