Встраивание интерактивной информационной панели метабазы ​​в JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Встраивание интерактивной информационной панели метабазы ​​в Java

Сообщение Anonymous »

Я следовал инструкциям по встраиванию интерактивной информационной панели Metabase по этой ссылке и написал микросервис Java/Spring, следуя инструкциям. Вот код:

Код: Выделить всё

@GetMapping("/ssometabase")
public void ssoToMetabase(HttpServletResponse response, @RequestParam(required = false) String return_to)
throws IOException {
String email = "user@example.com";  /
String firstName = "John";
String lastName = "Doe";
User user = new User();
user.setEmail(email);
user.setFirstName(firstName);
user.setLastName(lastName);
String token = jwtService.signToken(user);
String redirectUrl = metabaseUrl + "/auth/sso?jwt=" + token;

if (return_to != null) {
redirectUrl += "&return_to=" + URLEncoder.encode(return_to, StandardCharsets.UTF_8.toString());
}
System.out.println(redirectUrl);
response.sendRedirect(redirectUrl);
}

@GetMapping("/analytics")
public void showAnalytics(HttpServletRequest request, HttpServletResponse response) throws IOException {
String METABASE_DASHBOARD_PATH = "/dashboard/3?tab=7-circulation";
String iframeUrl = "/ssometabase?return_to=" + METABASE_DASHBOARD_PATH;

String html = "
\
";
response.setContentType("text/html");
response.getWriter().write(html);
}
Проблема в том, что когда я вызываю конечную точку /analytics, она возвращает iframe, а затем постоянно вызывает конечную точку /ssometabase в бесконечном цикле. Я не знаю, что является причиной этого. Для URI провайдера JWT в конфигурации метабазы ​​я установил его на http://localhost:8080/ssometabase, включил внедрение и сгенерировал токен, используя секретный ключ, с помощью этого метода:
public String signToken(User user){
Map claims = new HashMap();
claims.put("email", user.getEmail());
claims.put("first_name", user.getFirstName());
claims.put("last_name", user.getLastName());
Date now = new Date();
long expirationTime = now.getTime() + 1000 * 60 * 10;

return Jwts.builder()
.setClaims(claims)
.setExpiration(new Date(expirationTime))
.signWith(SignatureAlgorithm.HS256, secretKey.getBytes())
.compact();
}

. Когда я перехожу по URL-адресу перенаправления, напечатанному в консоли, я вижу панель мониторинга. Любая помощь приветствуется

Подробнее здесь: https://stackoverflow.com/questions/788 ... rd-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»