问题标签 [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 回答
329 浏览

spring - 使用 Grails spring security rest 插件的不足_scope 错误

我有一个使用 Spring Security 的标准 grails Web 应用程序,我想使用 spring-security-rest 插件(版本 1.5.1)将其中的一小部分作为 REST API 公开。一切似乎都设置正确,但我提出的任何请求都会返回 403 错误,提示“insufficient_scope”。任何文档中都没有关于此的内容,所以我希望有人可以提供帮助。这是我使用 Grails 2.4.4 的设置:

配置.groovy:

我可以很好地进行身份验证,并且确实取回了不记名令牌。但是,以下 curl 命令(使用真正的令牌代替“my_token”)总是发送回一个不足的_scope 错误:

curl -i http://localhost:8080/lunchoweb/api/restaurant -H "授权:承载 my_token"

还值得注意的是,控制器方法包含在名为 RestaurantAPIController 的单独控制器中。现在很简单:

使用 URL 映射:

是什么赋予了?

0 投票
0 回答
45 浏览

java - 具有自定义用户身份验证的 Spring Security Restful 应用程序

我正在尝试使用自定义用户身份验证来完成 Spring 安全令牌机制,但由于 restful 应用程序没有表单登录页面,我无法配置 Spring。当用户使用用户名和密码向 /authenticate 页面发送请求时,该服务将在 mysql 数据库中检查该用户。之后,服务将自动创建一个令牌然后发送给用户。用户将使用此令牌访问服务中的任何方法。

0 投票
2 回答
735 浏览

grails - 使用 grails spring security rest 插件登录时获取用户详细信息

我正在使用 grails spring 安全插件。当我登录时,我将用户名、令牌和角色作为 json 响应。除了这些属性,我还想获得一些其他属性,例如名字、姓氏等。使用 grails spring security rest 插件登录应用程序时,如何将这些值作为 json 响应获取?

0 投票
1 回答
1102 浏览

grails - Spring 安全服务获取当前用户返回不正确的用户

用户 A登录我的应用程序,然后注销,然后用户 B登录,springSecurityService.getCurrentUser()返回用户 A的域对象。

我的前端使用spring-security rest 插件附带的api 端点来进行身份验证并获取访问令牌。然后将访问令牌与对我的 api 的所有请求一起提供。

据我所知,这个错误只影响一个端点。将带有请求的相同 access_token 传递给有问题的端点和一个工作端点会导致它们各自调用getCurrentUser()返回两个不同的用户。

我没有使用任何静态或非静态的类成员。

我在我的 grails (2.4.4) 应用程序中使用 spring-security-rest (1.5.3) 和 spring-security-core (2.0.0) 进行身份验证。

该应用程序在 Tomcat 7 (Java 7) 服务器上远程运行。当应用程序在我的 Mac 上本地运行时,该错误不会发生,我认为这是问题的线索。

下面是我来自 Config.groovy 的 spring 安全配置

以下是来自 UrlMappings.groovy 的 URL 映射

以下是来自的调试信息:

提前感谢您的帮助。

0 投票
0 回答
642 浏览

grails - Grails spring security rest plugin v1.5.3 - 刷新令牌流

我有一个使用 grails v2.5.2 实现的 REST API 和一个使用 AngularJS 的客户端。我正在使用插件默认提供的 JWT 身份验证。

我已将令牌到期时间设置为 3600,并且我想自动刷新 access_token(对用户透明)。我知道我必须使用 application/x-www-form-urlencoded 对 /oauth/access_token 进行 POST 并发送 refresh_token 以获得新的 access_token。

我的问题是:

  • 令牌过期时这个插件返回的状态码是什么?我设置了 log4j,我看到它在令牌过期后发送 401。我希望 403 而不是 401,因为最后一个用于无效的登录凭据。

我需要知道这一点才能设置响应拦截器来请求新的 access_token。

谢谢!

0 投票
1 回答
1485 浏览

logout - Grails Spring Security 休息注销

我正在使用 Grails 3.1.4 和 Spring Security Rest Plugin 2.0.0.M2 来实现带有 AngularJS 的单页应用程序。登录和验证工作正常,但是当我调用注销时,我收到 404 错误。

调试时,我在插件 RestLogoutFilter 中遇到异常:

例外:

打电话

有效,因此令牌肯定在令牌存储中。

我的 Spring Security 配置是

我的配置中是否有错误或任何其他错误?

0 投票
0 回答
87 浏览

spring-security - grails - spring security oauth2 vs rest

我在 grails 中有站点,现在我需要添加 API 支持。第三方应用程序将使用它来访问资源。我想为此使用 Spring Security OAuth2 插件(插件链接),但我现在想跳过要求用户授权应用程序(这可能吗?)。另外,我找到了 Spring Security REST(插件链接)。

我还计划创建自己的移动应用程序,所以我不确定什么是更好的解决方案。还是将 OAuth2 用于第三方应用程序,然后将 REST 插件用于我自己的应用程序更好?与另一个插件相比,一个插件有什么好处?

0 投票
1 回答
583 浏览

grails - 服务器上生成的 Grails spring-security-rest JWT 令牌与客户端收到的令牌不匹配

我正在尝试为 Grails 3.1.7 项目实现 grails-spring-security-rest 插件。服务器生成的 JWT 令牌与返回给客户端的令牌不匹配。

我还尝试在https://jwt.io/上验证返回的 tokwn,但我得到一个“无效令牌”

我究竟做错了什么?以下是我在服务器上看到的日志


0 投票
1 回答
266 浏览

grails - 通过 GORM 脚手架创建新用户时的 Grails 3.1.7 Spring 安全问题

我正在 Grails (version 3.1.7)中做我的第一步,我正在做一个需要用户身份验证的应用程序。这个应用程序是一个 Web 应用程序,它还提供一些 REST 功能,所以我需要一个 Web 登录和一个带有令牌的“rest”登录。

我正在为这些建议使用spring-security-core:3.1.0spring-security-rest:2.0.0.M2并且两个登录都正常工作。

现在,当我尝试通过生成的 CRUD 创建新用户时遇到了一些麻烦grails generate-all package.User,我正确生成了视图(我有一个用户可以拥有或没有的客户端类,如果用户拥有它,我会在相同的创建部分也是因为客户端只能有一个用户)。当我保存它时,我得到一个内部服务器错误 500:

URI /web/webUser/save java.lang.NullPointerException消息 null

在文件中:\web\WebUserController.groovy 并且该行是:webUser.save flush:true

痕迹是:

我不确定安全插件配置或用户和客户端域类或 userController 中是否有问题。

编辑:更新信息!

@Transactional(readOnly = true)

类 WebUserController {

和域中的代码:

当客户端为空或不为空时会发生错误。并且如果我在 WebUser 域类中添加 afterInsert 进行调试,我可以看到生成的 Client id 如果它不为 null,但没有生成 WebUser id,此时我没有看到任何错误消息。

0 投票
1 回答
624 浏览

grails - 如何在 GRAILS JWT 中发送附加参数

在 Grails 中,根据本文档(http://alvarosanchez.github.io/grails-spring-security-rest/latest/docs/#_token_generation_),在第 9.12 节中,JWT 看起来像

如何在此 JWT 中添加/检索其他参数,例如有

包含在声明中,以便我可以散列它。基于设备ID,我想实现一个将令牌刷新列入黑名单的逻辑

谢谢英国