3

我需要将报告/仪表板从 Jasper 服务器导入到由 Keycloak 保护的 Web 应用程序。我很难将 Jasper Server v7.1.0 与 Keycloak 2.0.0Final 集成,但我无法使用 Keycloak 访问令牌获得 Visualize.js 会话。

两个应用程序都在同一个 Keycloak 客户端下注册,因此 SSO 令牌理论上足以对两个应用程序(我们的应用程序和 Jasper 服务器)进行身份验证。

在进行身份验证时,我们如何在 Visualize.js 中包含令牌类型作为承载?

就像是:

visualize({
server: "http://localhost:8080/jasperserver-pro/",
auth: {
    token: keycloak.token
    headers: {
        Authorization: "Bearer"
    }
}
}, function (v) {
    console.log("LOGGED IN ");
}, function (err) {
    console.log(err.message);
});
4

2 回答 2

1

使用 pre-auth 机制,其中服务层应构造一个预格式化的令牌,该令牌应作为标头的一部分使用 Visualize.js 发送。需要配置 JasperReports Server 以支持此解决方案。

于 2020-03-27T16:38:41.410 回答
-1

在 baove 文件夹中搜索 externalAuth-sample-config 文件夹,您会发现 sample-applicationContext-externalAuth-preAuth.xml 将其重命名为 applicationContext-externalAuth-preAuth.xml 并粘贴到 jasperserver 的 WEB-INF 文件夹中,然后重新启动您的 lain text可以使用预授权。检查以下链接以获取加密版本。

于 2022-02-02T13:38:38.397 回答