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 安全插件

Grails 3 和 Spring Security:当用户未登录时返回 401

Grails 1.3.5 和 Spring Security Core

grails 3 spring security boot starter登录页面定制