Auth0 + Grails 3 + Spring Security
Posted
技术标签:
【中文标题】Auth0 + Grails 3 + Spring Security【英文标题】: 【发布时间】:2018-03-03 00:40:22 【问题描述】:我的项目是客户端应用程序 (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 服务的适当角色 - 因为用户将被记录并且他的角色将存储在会话中。 这样的“拦截器”存在吗?非常感谢!
【问题讨论】:
【参考方案1】:看看这个插件http://plugins.grails.org/plugin/grails/spring-security-rest。它工作在 Spring Security 之上并支持 JWT 身份验证,您无需对代码进行大量更改
【讨论】:
非常感谢,看来这正是我想要的。谢谢以上是关于Auth0 + Grails 3 + Spring Security的主要内容,如果未能解决你的问题,请参考以下文章
Grails 3 Spring Security 覆盖登录表单
Grails 3.3.9 spring security 3.2.3 spring security ui 3.1.2 无法更改用户数据
Grails 3 和 Spring Security:当用户未登录时返回 401