问题标签 [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 投票
0 回答
552 浏览

grails - 如何检索 grails springsecurity rest jwt 令牌?

我正在开发一个与 Angular 应用程序一起使用的 Grails REST API。我使用 Spring Security Rest Plugin 进行身份验证。

我正在实现重置密码功能,在用户重置密码后,我想检索 JWT 令牌,以便将其发送到 Angular 应用程序,因此用户无需手动进行身份验证。

如何检索令牌?在插件文档中找不到它。注释行是我想要实现的:

0 投票
0 回答
818 浏览

spring-boot - 如何使用 Spring Security 创建 REST 身份验证端点

以下是简单的 REST 身份验证的工作原理:

  1. 客户端连接到 REST 登录端点并发送名称\密码;
  2. 服务器发送 200 OK 和一些令牌;
  3. 客户保留令牌;
  4. 客户端将令牌添加到对 REST API 的每个下一个请求。

但是,如果您使用 Spring 实现 REST API 服务,则不得使用 Spring Security 中的 http.formLogin(),因为它使用基于表单的登录(您将 302 重定向等)。似乎没有直接和简化的方式来使用 Spring Security 实现 REST API 身份验证。

有很多善意的建议,但需要的是一个可以下载、构建和运行的独立示例,如 Spring Getting Started with Spring Boot。

https://spring.io/guides/gs/securing-web/正在使用 UI。我们需要一个仅 REST 微服务的示例,没有任何 UI。

任何人都可以使用 Spring Boot、Spring Security 和演示的 REST 端点身份验证共享包含此类独立 Spring 项目的 ZIP 链接吗?(发件人将立即成为英雄 :-)

0 投票
2 回答
12792 浏览

facebook - 在 JWT 中登录 Facebook

我已经使用 JWT 开发了基于令牌的 Spring Security,在 git https://github.com/szerhusenBC/jwt-spring-security-demo中引用了这个项目。现在我需要在我的应用程序中登录 Facebook。对于社交登录,我找到了另一个网页https://ole.michelsen.dk/blog/social-signin-spa-jwt-server.html,它解释了必须如何进行社交登录。

在正常登录时,我的 JWT 项目会根据用户名、密码、到期日期和创建时间创建一个令牌。每次令牌到来时,都会检索并比较上述字段中的所有值以验证令牌,然后提供服务。我有两个问题:

  1. 在社交登录中,不会创建密码。将从 facebook 收到一个令牌(我的前端会这样做)。我必须验证令牌是否有效。我应该如何在 JWT 中做到这一点?
  2. 根据文章验证后,我应该创建自己的令牌以供将来参考。现在,facebook登录没有密码。如何创建令牌?

让我知道是否有任何好的网站可用于在 Spring Boot 应用程序中使用 JWT 进行社交登录。

0 投票
1 回答
671 浏览

spring - 在 Grails 的 Spring Security Rest Plugin 中注销时出现 404

我正在为 Grails 2.4.4 使用Spring Security Rest Plugin v1.5.4(使用 spring security core 2.0.0)在我的项目( Grails - Angularjs)上设置安全系统。关于这个插件的文档可以在这里找到。

我正在使用 postman chrome rest 客户端测试登录和注销,我可以登录,但是当我注销时得到 404。

在文档中明确表示:

注销过滤器公开一个用于删除令牌的端点。它将从 HTTP 标头中读取令牌。如果找到,将从存储中删除它,发送 200 响应。否则,它将发送 404 响应

您可以使用以下属性在 Config.groovy 中对其进行配置:

配置键.................................................. ...................................默认值

grails.plugin.springsecurity.rest.logout.endpointUrl......................./api/logout grails.plugin.springsecurity.rest.token.validation.headerName ....X-Auth-Token

因此,在成功登录后,我尝试使用 GET 方法注销该 URL(my_host_url/api/logout ),并使用我之前从登录获得的令牌发送标头X-Auth-Token 。

但我一直收到 404。见下图

在此处输入图像描述

编辑:我正在设置这样的链图(为了获得无状态行为):

所以。我在这里做错了什么,或者我错过了什么?

提前致谢!

0 投票
1 回答
7917 浏览

spring-security - Spring Boot Oauth2 验证资源所有者密码凭证授予的访问令牌

我正在编写一个过滤器,它将拦截一个 Restful API 调用,提取一个承载令牌并调用授权服务器进行验证。

我在 Spring Boot 中找不到开箱即用的方法,但我确信有一种更简洁的方法可以做到这一点。这是我所拥有的(伪代码):

}

0 投票
1 回答
388 浏览

spring-security - Spring Security - Java 配置

再会!

我正在尝试将项目从基于 XML 的项目转换为基于注释的/Java 配置。有没有办法将下面的 XML 配置转换为 Java 配置?

顺便说一下,这是我使用的 security-context.xml 的一个片段。我正在尝试在这里寻找解决方案,但文档@Bean中没有。我不知道如何处理bean的属性。也适用于authentication-manager节点。希望可以有人帮帮我。

提前致谢!

0 投票
0 回答
1119 浏览

rest - 无法连接到 Grails v3 rest 控制器,得到 403,访问被拒绝

我创建了一个新的 grails v3 应用程序,并将以下依赖项添加到 build.gradle:

我使用 Grails Security Quickstart 创建了一个用户角色组配置,并在 bootstrap.groovy 中为用户设置了一个用户、一些角色和一些帖子。我查看了 /dbconsole 并保存了记录。<y 基本的集成测试似乎有效。

我创建了一个这样的休息控制器 - 我现在没有保护任何东西:

经过大量阅读,我最终在我的 application.groovy 中得到了这个:

我的静态规则有 /api/** 允许所有。我已经根据 Spring Security REST 文档更新了 /api/** 的链图

我更新了我的 UrlMappings 如下

当我在 Grails 控制台中运行 url-mappings-report 时,我的 URL 看起来正确公开。

我运行应用程序 - 一切正常。

然后我使用 Chrome 发布到 api/login。当我使用 Chrome REST 客户端连接时 - 这给了我 200 和 access_token:

API登录

我尝试使用返回的密钥进行帖子验证,并获得看起来不错的 HTML 200。

最后我尝试调用我的 /api/posts 服务。我剪切并粘贴我的密钥并添加到 GET 标头并提交,我得到 403/forbidden:

在此处输入图像描述

我看不出我哪里出错了。我在与最后一个 /api/guest/posts 相关的日志跟踪中有这个:

最后 - 我启用了 fii.rejectPublicInvocations 并再次尝试,当我访问 URL 时我得到了这个堆栈跟踪

注意 - 请参阅下面的评论 - 我像这样对 PostRestController 进行了“破解” - 并将结果强制为“真”。这现在允许我使用登录密钥访问 api/guest/posts(匿名)和 /api/posts:

我也启用了调试过滤器,它在我访问 api/posts 时输出:

我从闭包写到控制台的跟踪给了我这个:

0 投票
1 回答
1095 浏览

rest - 来自请求参数的 JWT Spring 安全用户授权

我正在使用带有 spring security 的 JWT 来处理我的 REST API 端点的授权。在以下示例中,端点提供有关用户的信息。假设我希望只有ADMIN用户能够获取所有用户的详细信息,任何其他用户都应该只获取他/她的帐户详细信息。任何人都可以想到一种更具声明性的方式来使用注释或 AOP 来实现与以下代码等效的代码。

0 投票
1 回答
298 浏览

ios - 如何在客户端实现 SSL?

我是 Web 开发新手,目前我正在开发一个供 IOS 应用程序使用的 Rest API。所以我开发了 API 并在其中实现了带有 oauth2 安全性的 jwt 令牌。现在我想提供移动应用程序使用的 API。所以我的后端服务器有 SSL 证书。所以消费的 Rest API 将类似于

到目前为止,我已经阅读了有关 SSL 和 JWT 的信息,并且出于不同的原因,SSL 用于客户端服务器通信之间的加密通道,而 JWT 用于授权。

因此,即使我实现 JWT 并且通信不在 SSL 中也没有意义。所以要确保客户端和服务器之间的通信完成,客户端(移动应用程序)端必须做什么?

1.手机APP是否需要安装新的证书或者我们后端服务器的SSL证书?

2.如果是我们后端服务器的SSL证书,那么如何在手机端安装呢?

任何帮助表示赞赏。

0 投票
1 回答
69 浏览

facebook - facebook 与 grails spring security rest 插件连接

似乎 facebook 已经改变了 api 调用的响应格式,现在我的代码没有像预期的那样工作。我已经按照完全相同的步骤来配置插件提及@插件文档

我面临grails-spring-security-rest/issues/327中提到的完全相同的问题

使用 grails-spring-security-rest 插件获得 facebook 连接的任何解决方法/提示?