如何使用Spring Boot在单个HTML页面中注入标签?

时间:2019-01-30 18:12:41

标签: java spring reactjs spring-boot

我们正在使用OAuth授权和我们的内部JWT令牌以及spring boot(无状态后端)+ React。在多次获取用户信息后,我们创建了jwt-token。而且我们需要以某种方式将其发送到带有html页面的客户端。我们可以使用

  1. 请求参数(不足以容纳我们的令牌)
  2. Cookie(足以容纳我们的令牌)
  3. 将令牌放入html页面

所以1和2不是我们的选择。我们决定先将令牌放入html页面,然后再发送给客户端。在客户端,只需用js阅读即可。

我的问题是:在使用Spring Boot发送给客户之前,如何动态更改html内容?

还有其他方法可以解决无状态后端的此问题吗?

1 个答案:

答案 0 :(得分:0)

所以,我解决我的问题在明年的方式

@RequestMapping(value = "/login")
public String processLogin(HttpServletResponse response,
                           @RequestParam(value = "code") String code)throws IOException {

    response.reset();
    response.setContentType("text/html");
    Resource file = new ClassPathResource("/META-INF/resources/index.html");
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(file.getInputStream(), UTF_8));
    htmlSourceContent = bufferedReader.lines().collect(Collectors.joining());


    //do changes with htmlSourceContent
    response.getOutputStream().write(htmlSourceContent);
    log.debug("Authentication successfully passed");
 }