问题标签 [spring-security-rest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4923 浏览

grails - 类权限不是域类或 GORM 未正确初始化或已关闭

我正在开发一个 grails rest 应用程序。我使用的 grails 版本是 3.3.1。我正在使用 spring-security-rest 进行授权。我使用 s2-quickstart 命令创建了以下类。

  1. 用户
  2. 权威
  3. 用户权限

该应用程序运行良好,但用户类的单元测试失败,控制台中出现以下错误。

我试过参考GORM 的答案,但没有意识到插件中的域类是 GORM 类 ,但没有任何效果。我对 grails 很陌生,因此我不知道可能出了什么问题。我正在使用的课程是:

用户.Groovy

权威.Groovy

UserAuthority.Groovy

编辑1:单元测试类是:

0 投票
0 回答
114 浏览

grails - Grails3.2.11 从移动(android)应用程序访问安全 API 的后端问题

它是一个带有 spring-security-rest:2.0.0.M2 插件的 RESTful(Grails 3.2.11 后端)应用程序。它适用于有角的前端。从移动(android)应用程序登录时,它会返回令牌。但是在连续的安全 API 中使用与 Bearer 相同的令牌,它会抛出

WWW-authenticate: Bearer error="invalid_token"

在响应标头中。已经交叉检查,登录用户有足够的权限访问那些API,所以不属于未授权访问的情况。并且令牌存在于 mongodb 的 authenticationToken 集合中。此外,如果我在 Web 应用程序(角度前端)中使用同一用户登录,它可以完美运行。

以下是 spring-security 调试片段(远程 IP 和用户名被屏蔽)

0 投票
2 回答
1332 浏览

grails - Grails REST 安全性 - 将用户 ID 添加到令牌

我想将用户 ID 字段添加到从 /api/login 返回的令牌中

目前是:

我需要:

目标 - 带有用户 ID 的查询,例如 POST /api/something 有没有其他方法?提前致谢

0 投票
0 回答
1168 浏览

grails - com.nimbusds.jose.JOSEException:不支持的 JWS 算法 RS256,在使用 Auth0 令牌时必须是 HS256、HS384 或 HS512

我们有一个使用 spring security rest 作为安全机制的现有应用程序,我们决定切换到 Auth0。我正在尝试使 grails spring security rest 插件与 Auth0 令牌一起工作。根据文档,似乎实现它的最简单方法是实现自定义令牌存储,它将针对 Auth0 验证令牌

现在,我只是创建了自己的 Token 存储类来开始了解它是如何工作的。我的安全存储实现目前与原来的完全一样JwtTokenStorage(当我试图理解机制时):

如果我使用有效的 Auth0 令牌向 API 发送请求,则会收到无效令牌错误作为响应。

再深入一点,我发现当代码试图验证令牌时,它会进入JwtService.parse函数,在那里它将令牌解析为HMAC signed(不知道为什么,但让我们暂时假设它是正确的)在这里:

然后它尝试将验证委托给MACVerifier,但是,当它解析算法名称时,它会失败,因为不支持 RS256:

我很确定这是我做错的事情,此时我可以想到任何事情。我在这里想念什么?

0 投票
2 回答
2629 浏览

spring - Spring security 4.2.3,OAUTH 2,/oauth/token 端点,CORS 不工作

Angular 5 应用程序需要登录用户。令牌请求被发送到 /oauth/token。由于 CORS,预检 OPTIONS 请求(由 Chrome 发送)失败。

我尝试遵循Spring Security 4.2中的示例以及 Stackoverflow 上的各种问题和响应。

这是我的代码:

这是来自 Chrome 的请求

回复:

控制台中的错误:

0 投票
1 回答
122 浏览

spring - 在身份验证回复中添加其他信息

使用 Grails 3.3.5 和 Spring-security-rest 2.0.0-RC1 处理 REST API 应用程序。

当我使用 /api/login 登录时,我得到了正确的结果:

我想在响应中添加其他信息,例如用户的姓名和姓氏。谢谢

更新 感谢 Evgeny 为我指明了正确的方向并阅读了我还实现了 UserDetailsS​​ervice 的手册。从手册:

如果要在 JSON 响应中呈现附加信息,则必须:

0 投票
0 回答
461 浏览

spring-boot - spring security oauth 和 JWT 阻止所有请求

我试图建立一个简单的应用程序,该应用程序根据包含 JWT 的 Authorization 基本标头来授权 REST 服务中的操作。我使用了自动提供的 oauth/token 端点,以便客户端可以代表有效用户获取 JWT。不幸的是 Spring Security 阻止了所有请求,所以我在配置中做错了,我希望有人能看到它是什么。

这是我的配置:

数据源(用户和客户端设置的位置是:

安全配置:

认证服务器:

并将我的路径与我的授权分开,我有资源服务器

这是数据设置:

最后,这是显示甚至 /oauth/token 端点也被阻止的功能测试:

这是我几乎所有事情都会遇到的错误:

谁能看到我做错了什么?

0 投票
2 回答
1242 浏览

grails - Grails - grails-spring-security-rest - 无法从 application.yml 加载 jwt 机密

我正在使用 application.yml 文件为 grails-spring-security-rest 插件加载运行时配置。

但是在启动时我收到此消息

配置 Spring Security REST 2.0.0.RC1 ... 2018-07-13 15:04:58.202 错误 --- [main] osboot.SpringApplication:应用程序启动失败

java.lang.Exception:必须定义 JWT 机密。请为配置属性提供一个值:grails.plugin.springsecurity.conf.rest.token.storage.jwt.secret

0 投票
0 回答
135 浏览

java - Spring Security 将过滤器应用于不安全的 URL

我已将 Spring Security 配置为忽略某些 URL ( /session/**, /v2/api-docs/**),如下所示,但它仍然尝试对它们进行身份验证。TokenAuthenticationFilter是一种TokenAuthenticationFilter检查不记名令牌的实现。

谁能帮忙看看为什么 Spring Security 不排除/忽略提到的 URL?Spring Security 配置文件如下:

0 投票
0 回答
119 浏览

java - 春季授权未启动

我有以下 spring security xml 文件,其中包含身份验证和授权配置。这里的问题是身份验证工作正常,但授权没有启动,它甚至没有检索角色。我之前曾处理过类似的场景,但没有任何问题。唯一的区别是我当时使用的是spring 3,现在是spring 4。我在这里遗漏的任何事情或我做错的事情。