问题:@SessionScope在JHipster API Gateway Java应用程序中工作吗?

问题描述 投票:0回答:1

我们有一个基于JHipster的API网关应用程序,目前使用JJWT ..我甚至不知道如何正确命名它...为安全起见?

我们遇到了一个问题,我们需要在第三方服务中对用户进行身份验证时,无论何时请求对第三方进行某些操作。因此,我们的想法是使用@SessionScope-d bean来保留第三方的用户凭据。它会起作用吗?我很困惑JWT据说是无国籍的。社区应该采取什么方法呢?谢谢

spring-mvc jhipster
1个回答
0
投票

这是我的同事调查的内容:

为了支持网关的@SessionScope注释功能(UI - 后端),我们首先应该调整一些配置:

  1. 在application.yml中,我们应该将http-only会话参数更改为false:

server:servlet:session:cookie:http-only:false

  1. 然后我们应该配置会话超时以将其与我们的JWT令牌生存期相关联:

server:servlet:session:timeout:86400

  1. 最后,我们应该配置会话创建策略。这可以在SecurityConfiguration.java中完成:

@Override public void configure(HttpSecurity http)抛出异常{http.sessionCreationPolicy(SessionCreationPolicy.ALWAYS); }

从这一点开始,我们将有会话,它将为每个经过身份验证的用户存储Spring Secuirty上下文,但它永远不会用于身份验证机制,因为我们已经为此目的使用了JWT。我们将仅使用会话来存储自定义数据。

配置完成后,我们现在可以为会话范围创建自定义bean:CustomSessionScopeBean.java

@Component
@SessionScope
public class CustomSessionScopeBean{
    @Getter
    @Setter
    ///What ever you want to store in session scope
}
© www.soinside.com 2019 - 2024. All rights reserved.