spring - Spring Security OIDC 和 JWT 代替 session
问题描述
我们正在考虑实现无状态,即使用 JWT 代替会话。但是 OIDC 和 Spring Security 似乎很棘手。一些博客文章,例如 Spring Lemon[1],建议对 Spring 的几个 OIDC 类进行子类化,并在用户通过身份验证后使用过滤器来发布签名的 JWT,但它们基于旧版本,.oauth2ResourceServer()
在安全方面可作为可配置类使用配置。
今天我们的用户使用 OIDC 进行身份验证,但我们也提供 API,因此我们也有 API 用户。在撰写本文时,我们正在重写应用程序以变得更加 RESTful。更多的逻辑会放在前端,后端只会提供几个API。为了进一步简化模型,我们的想法是为 API 和 OIDC 用户使用 JWT 而不是会话。
最好的方法是什么?仍然为最终用户使用会话(并且仅对 API 用户使用 JWT)还是尝试为所有用户使用 JWT 构建无状态应用程序?Spring Lemon 是正确的选择吗?我们是否还应该oauth2ResourceServer
在配置类中使用来验证 JWT?
[1] 春柠檬:https ://dzone.com/articles/spring-security-5-oauth-20-login-and-signup-in-stas
解决方案
推荐阅读
- sql - SQL - MS Access Form 设计 - 添加 ISA 关系数据
- javascript - 无法从父范围访问节点 js 要求
- xcode - 为什么我的 CocoaPods 注入的 Xcode 构建永远不会完成,引用“取消”而不是“失败”或“成功”?
- neo4j - Cypher 对动态属性值求和
- list - 为什么 layer.get_weights() 返回长度为 1 和 4 的列表?
- python - 如何使用 Python 中的 pysftp“put”方法将多个 .csv 文件传送到 SFTP 服务器
- javascript - 我的发电机不按我想要的方式工作。看起来像简单的例子,但不工作
- node.js - 从 AWS Secret Manager 获取密钥
- r - 删除具有每个级别少于 5 个观测值的因子的列
- apache-spark - Spark/Cassandra 阴影依赖问题