提问者:小点点

使用NodeJS,如何使用Spring Security OAuth2制作的JWT检索存储在PostgreSQL中的会话信息?


我有一个Java的Spring后端,它使用LDAP进行用户帐户和Spring Security性进行身份验证。

我还使用spring-security-oaut2进行客户端身份验证,并且我有一个使用JWT进行身份验证的客户端。

使用该JWT,如何使用NodeJS解密JWT并检索数据库中的会话信息(用户和角色)?

我还有一个X-XSRF-TOKEN我想我需要验证(cookie)。

有可能吗?


共1个答案

匿名用户

我有一个Java的Spring后端,它使用LDAP进行用户帐户和Spring Security性进行身份验证。

我还使用spring-security-oaut2进行客户端身份验证,并且我有一个使用JWT进行身份验证的客户端。

JWT的全部思想是它是无状态的(没有会话)。如果您有一个独特的解决方案,其中会话以某种方式绑定到JWT,您应该包含一个图表或更多描述。

使用该JWT,如何使用NodeJS解密JWT并检索数据库中的会话信息(用户和角色)?

您可以使用JsonWebToken库并在主题字段中存储/检索用户名(或其他类型的用户或会话标识令牌)。

我也有一个X-XSRF-TOKEN,我想我需要验证(cookie)。

CSRF/XSRF通常在JWT应用程序中被禁用(请参阅此处接受的答案CSRF使用无状态身份验证时需要令牌?)。在Spring启动中,中间件默认启用,但可以像这样禁用:

@EnableWebSecurity
public class WebSecurityConfig extends
WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .csrf().disable();
    }
}