Spring Security OIDC和JWT代替会话

Spring Security OIDC和JWT代替会话,spring,spring-security,jwt,openid-connect,spring-security-oauth2,Spring,Spring Security,Jwt,Openid Connect,Spring Security Oauth2,我们正在考虑变为无状态,即使用JWT而不是会话。但OIDC和Spring安全性似乎很棘手。一些博客文章,例如Spring Lemon[1],建议对Spring的几个OIDC类进行子类化,并在用户经过身份验证后使用过滤器来发布签名JWT,但它们基于之前的旧版本。oauth2ResourceServer()在安全配置中作为可配置类提供 今天,我们的用户通过使用OIDC进行身份验证,但我们也提供了一个API,因此我们也有API用户。在编写本文时,我们正在重写应用程序,使其变得更加RESTful。更多的

我们正在考虑变为无状态,即使用JWT而不是会话。但OIDC和Spring安全性似乎很棘手。一些博客文章,例如Spring Lemon[1],建议对Spring的几个OIDC类进行子类化,并在用户经过身份验证后使用过滤器来发布签名JWT,但它们基于
之前的旧版本。oauth2ResourceServer()
在安全配置中作为可配置类提供

今天,我们的用户通过使用OIDC进行身份验证,但我们也提供了一个API,因此我们也有API用户。在编写本文时,我们正在重写应用程序,使其变得更加RESTful。更多的逻辑将放在前端,而后端将只提供几个API。为了进一步简化模型,我们的想法是对API和OIDC用户使用JWTs而不是会话

最好的方法是什么?仍然为最终用户使用会话(并且仅为API用户使用JWTs),还是尝试为所有用户使用JWTs构建无状态应用程序?春天柠檬是正确的选择吗?我们是否应该在配置类中使用
oauth2ResourceServer
来验证JWTs


[1] Spring Lemon:

Spring Lemon链接似乎已断开,因此我发布了一个新链接: