我们有一个基于JHipster的API网关应用程序,目前使用JJWT ..我甚至不知道如何正确命名它...为安全起见?
我们遇到了一个问题,我们需要在第三方服务中对用户进行身份验证时,无论何时请求对第三方进行某些操作。因此,我们的想法是使用@SessionScope
-d bean来保留第三方的用户凭据。它会起作用吗?我很困惑JWT据说是无国籍的。社区应该采取什么方法呢?谢谢
这是我的同事调查的内容:
为了支持网关的@SessionScope
注释功能(UI - 后端),我们首先应该调整一些配置:
http-only
会话参数更改为false:server:servlet:session:cookie:http-only:false
server:servlet:session:timeout:86400
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
}