Auth0 + Grails 3 + Spring 安全
Auth0 + Grails 3 + Spring Security
我的项目是客户端应用程序 (angular4) 和 api 服务器 (grails3) 我们想开始使用 Auth0。如果我做对了,使用 JWT 我可以拥有“session-less”API 架构,流程如下:
1) client app login 中的用户(例如带锁)
2) 对 API 的所有请求都将包含 jwt 令牌 并且 api 可以 "verify" 令牌 + 添加角色(角色可以是 park "token_id",例如自定义声明)。
当前 API 安全由 Spring 安全 :
我们在配置文件中有静态规则
模式:'/rest/**'
访问:['ROLE_USER']>
当资源 "is public" 我们只是在控制器中的方法上注释 @Secured(['permitAll'])
用户登录到应用程序(ajax 从 angular 客户端到 api 服务器的请求)和 spring 安全将他的角色存储到会话中
所以这是我的问题:
- 可以通过 Auth0+JWT 继续使用我们的安全配置(因此对 API 服务器的每个请求都将包含 JWT,会有一些 "interceptor" 可以验证tokenId,对其进行解码,添加角色,然后 spring 安全检查用户是否具有适当的角色来访问 API 服务——因为用户将被记录并且他的角色将被存储在会话中)。
- 这样的"interceptor"存在吗?
非常感谢!
看看这个插件http://plugins.grails.org/plugin/grails/spring-security-rest。它基于 spring 安全性并支持 JWT 身份验证,您无需在代码中进行太多更改
我的项目是客户端应用程序 (angular4) 和 api 服务器 (grails3) 我们想开始使用 Auth0。如果我做对了,使用 JWT 我可以拥有“session-less”API 架构,流程如下:
1) client app login 中的用户(例如带锁)
2) 对 API 的所有请求都将包含 jwt 令牌 并且 api 可以 "verify" 令牌 + 添加角色(角色可以是 park "token_id",例如自定义声明)。
当前 API 安全由 Spring 安全 :
我们在配置文件中有静态规则
模式:'/rest/**' 访问:['ROLE_USER']>
当资源 "is public" 我们只是在控制器中的方法上注释
@Secured(['permitAll'])
用户登录到应用程序(ajax 从 angular 客户端到 api 服务器的请求)和 spring 安全将他的角色存储到会话中
所以这是我的问题:
- 可以通过 Auth0+JWT 继续使用我们的安全配置(因此对 API 服务器的每个请求都将包含 JWT,会有一些 "interceptor" 可以验证tokenId,对其进行解码,添加角色,然后 spring 安全检查用户是否具有适当的角色来访问 API 服务——因为用户将被记录并且他的角色将被存储在会话中)。
- 这样的"interceptor"存在吗?
非常感谢!
看看这个插件http://plugins.grails.org/plugin/grails/spring-security-rest。它基于 spring 安全性并支持 JWT 身份验证,您无需在代码中进行太多更改