【发布时间】:2023-03-24 10:34:01
【问题描述】:
我的项目是客户端应用程序 (angular4) 和 api 服务器 (grails3),我们想开始使用 Auth0。如果我做对了,使用 JWT 我可以拥有具有以下流程的“session-less”API 架构:
1) 客户端应用登录中的用户(例如带锁)
2) 对 API 的所有请求都将包含 jwt 令牌,并且 api 可以“验证”令牌 + 添加角色(角色可以是“token_id”的公园,例如作为自定义声明)。
当前的 API 安全性由 Spring Security 完成:
-
我们在配置文件中有静态规则
模式:'/rest/**' 访问:['ROLE_USER']>
当资源“公开”时,我们只需在控制器
@Secured(['permitAll'])中的方法上进行注释用户登录应用程序(从 Angular 客户端到 api 服务器的 ajax 请求)和 spring security 将他的角色存储到会话中
所以这是我的问题:
- 可以通过 Auth0+JWT 继续使用我们的安全配置(因此对 API 服务器的每个请求都将包含 JWT,会有一些“拦截器”来验证 tokenId,对其进行解码,添加角色然后弹出安全性只需检查用户是否具有访问 API 服务的适当角色 - 因为用户将被记录并且他的角色将存储在会话中。
- 这样的“拦截器”存在吗?
非常感谢!
【问题讨论】:
标签: spring-security jwt spring-security-oauth2 auth0 grails3