Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用RestTemplate传递CSRF令牌

如何使用RestTemplate传递CSRF令牌
EN

Stack Overflow用户
提问于 2017-08-24 07:04:09
回答 1查看 2.7K关注 0票数 1

我有两个Spring应用程序。其中一个应用程序使用Spring RestTemplate调用其他应用程序。让我们调用这些应用服务器和客户端应用程序。

服务器应用程序将XSRF-TOKEN令牌作为cookie发送,这是为UI部分完成的。但是,服务器没有办法(据我所知)区分来自浏览器的请求和来自客户端应用程序的请求。因此,我不能选择性地将CSRF令牌从服务器发送到浏览器。

在Spring中是否有内置机制,允许RestTemplate检测cookie/头并重放请求?

如果不是的话,我怎么能手动做同样的事情呢?我是否应该等待CSRF异常发生,然后从响应中读取cookie并重新播放它?

如果只执行一次,那么就可以了,但是等待每个RestTemplate调用的异常似乎是不对的。

我可能尝试存储一次令牌,并从下一次开始设置,但是它将如何处理多服务器应用场景(这是我必须实现的下一步)。由于一个服务器应用程序的CSRF令牌对另一个服务器应用程序无效,所以我无法存储单个令牌,但我必须存储一个令牌映射,它将为每个新的服务器应用程序URL提供一个条目。

这一切似乎太复杂了,我宁愿让Spring来处理。

任何线索都很感激。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-25 11:53:00

目前,我已经在服务器应用程序中实现了一个没有保护的REST服务,可以调用它来获取cookies。我必须始终允许创建会话,以便cookie不会在一个会话中更改,这样我就可以避免错误Could not verify the provided CSRF token because your session was not found

客户端应用程序调用CSRF服务来获取cookie,然后将其与下一个服务调用一起发送。

似乎可以通过RestTemplate为每个REST调用CSRF令牌服务,但是它可以帮助我避免实现存储会话的复杂逻辑。CSRF令牌服务只交付cookie,因此与实际的服务调用相比,它的网络调用不需要花费太多时间。

我还考虑使用持久存储( storage或Redis)来存储服务器应用程序的CSRF令牌,然后让客户端应用程序直接从持久存储中读取它。

但是,我不知道如何将Session + Server app + CSRF token关联到一起来识别客户端所需的令牌。由于客户端最初没有会话,所以它无法从数据库中唯一地为它的令牌找到CSRF令牌。由于RestTemplate不为下一次调用存储会话,这个方法更加复杂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45865005

复制
相关文章
使用openfeign传递oauth2令牌
通过RequestInterceptor拦截Feign请求并装填OAuth2 Token public class OAuth2FeignRequestInterceptor implements RequestInterceptor { private static final String AUTHORIZATION_HEADER = "Authorization"; private static final String BEARER_TOKEN_TYPE = "Bearer";
路过君
2020/06/19
1.6K0
利用CSS注入(无iFrames)窃取CSRF令牌
CSS相信大家不会陌生,在百度百科中它的解释是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。 那么,它仅仅只是一种用来表示样式的语言吗?当然不是!其实早在几年前,CSS就已被安全研究人员运用于渗透测试当中。这里有一篇文章就为我们详细介绍了一种,使用属性选择器和iFrame,并通过CSS注入来窃取敏感数据的方法。但由于该方法需要iFrame,而大多数主流站点都不允许该操作,因此这种攻击方法并不实用。 这里我将为大家详细介绍一种不需要ifram
FB客服
2018/02/23
1.2K0
利用CSS注入(无iFrames)窃取CSRF令牌
如何使用SharpNamedPipePTH实现令牌模拟
SharpNamedPipePTH是一款基于C#开发的安全工具,该工具可以利用哈希传递技术(Pass-the-Hash)在本地命名管道上进行身份认证,并实现用户令牌模拟。需要注意的是,该工具需要本地管理员权限或SEImpersonate权限。
FB客服
2022/11/14
1.6K0
如何使用SharpNamedPipePTH实现令牌模拟
Spring Cloud Feign如何实现JWT令牌中继以传递认证信息
令牌中继(Token Relay)是比较正式的说法,说白了就是让Token令牌在服务间传递下去以保证资源服务器能够正确地对调用方进行鉴权。
码农小胖哥
2021/11/02
1.6K0
如何使用Jwtear解析和修改JWT令牌
 关于Jwtear  Jwtear是一款模块化的命令行工具,该工具可以帮助广大研究人员从安全研究的角度来解析、创建和修改JSON Web令牌(JWT)。  功能介绍  完整的模块化组件:所有的命令都是插件,可以轻松添加新的插件; 支持JWS和JWE令牌; 提供了易于使用的接口和模版; 高灵活性,轻松可扩展新功能; 基于生产类库的令牌生成机制,例如json-jwt和jwe等;  可用插件  Parse:解析JWT令牌; jsw:修改和生成JWS令牌; jwe:修改和生成JWE令牌; bruteforce:暴力
FB客服
2023/03/30
1.7K0
如何使用Jwtear解析和修改JWT令牌
Resttemplate常见使用问题
可能你在使用restTemplate的时候遇到错误’Using RestTemplate in Spring. Exception- Not enough variables available to expand’,解决办法https://stackoverflow.com/questions/21819210/using-resttemplate-in-spring-exception-not-enough-variables-available-to-expan具体代码如下。
XING辋
2019/03/26
1.2K0
Java中restTemplate的使用
原文链接 GitHub项目地址 Gitee项目地址 本文介绍restTemplate基础用法。 Java中get和post的用法请参考:Java中Get和Post的使用 1 提供get/post接口 1.1 Controller @RestController @RequestMapping("/homepage") public class MyController { @Autowired MyService myService; // 提供get接口 @GetMap
代码的路
2023/03/21
6080
http请求之RestTemplate使用
定义一个RestTemlateConfig设置超时时间等 @Configuration @Component public class RestTemlateConfig { @Bean public RestTemplate restTemplate(ClientHttpRequestFactory requestFactory){ return new RestTemplate(requestFactory); } @Bean public Cl
高大北
2022/09/22
3870
Spring Security OAuth 2开发者指南
这个用户指南支持OAuth 2.0。对于OAuth 1.0,一切都是不同的,所以去这里看它的用户指南。
gemron的空间
2019/11/04
1.9K0
【说站】python包裹传递如何使用
在定义函数时,在相应的参数之前添加“*”或“**”:如果在某一参数名之前添加“*”,则可以以元组形式为该参数传输一组值;如果在某一参数名之前添加“**”,则可以以关键词传输形式为该参数传输一组值。
很酷的站长
2022/11/23
6870
Spring Security OAuth 2开发者指南译
这是用户指南的支持OAuth 2.0。对于OAuth 1.0,一切都是不同的,所以看到它的用户指南。
Dream城堡
2018/09/10
2.1K0
SpringBoot系列之RestTemplate使用示例
博主之前经常对接一些接口,所以发现写一些http请求比较麻烦,学习springboot的过程知道可以用RestTemplate来做http请求,RestTemplate是Spring Framework框架封装的基于模板方法设计模式的一个工具类,带有同步模板方法 API 的原始 Spring REST 客户端类,下面博主分析一些对接过程的一些经验,RestTemplate基本使用可以参考官网文档:https://docs.spring.io/spring-framework/docs/5.1.6.RELEASE/spring-framework-reference/integration.html#rest-client-access
SmileNicky
2022/05/07
1.4K0
SpringBoot系列之RestTemplate使用示例
Java中使用RestTemplate调用api
当谈论REST时,有一种常见的错误就是将其视为“基于URL的Web服务”——将REST作为另一 种类型的远程过程调用(remote procedure call,RPC)机制,就像SOAP一样,只不过是通过简单 的HTTP URL来触发,而不是使用SOAP大量的XML命名空间
Vincent-yuan
2021/06/11
1.7K0
第十四节 springcould zuul边缘路由的使用
其他具体配置及功能可参考源码zuul服务源码 需要说明需要启动本zuul项目,需要依赖eureka server、security-server、以及其他业务服务
用户1418372
2018/10/15
1K0
如何使用jwtXploiter测试JSON Web令牌的安全性
 关于jwtXploiter  jwtXploiter是一款功能强大的安全测试工具,可以帮助广大研究测试JSON Web令牌的安全性,并且能够识别所有针对JSON Web令牌的已知CVE漏洞。 jwtXploiter支持的功能如下: 篡改令牌Payload:修改声明和值; 利用已知的易受攻击的Header声明(kid、jku、x5u); 验证令牌有效性; 获取目标SSL连接的公钥,并尝试在仅使用一个选项的密钥混淆攻击中使用它; 支持所有的JWA; 生成JWK并将其插入令牌Header中
FB客服
2023/03/30
1.1K0
如何使用jwtXploiter测试JSON Web令牌的安全性
Spring之RestTemplate使用小结一
作为一个Java后端,需要通过HTTP请求其他的网络资源可以说是一个比较常见的case了;一般怎么做呢?
一灰灰blog
2018/08/13
6.5K0
Spring之RestTemplate使用小结一
Spring Boot的安全配置(二)
OAuth 2.0是一种授权协议,允许用户授权第三方应用程序访问他们的资源。在Spring Boot中,可以使用spring-security-oauth2-autoconfigure库来实现OAuth 2.0身份验证。该库提供了一些可用的OAuth 2.0身份验证客户端,包括Facebook、GitHub、Google和Twitter等。
堕落飞鸟
2023/04/05
1K0
总结:使用 RestTemplate 发送HTTP请求
一般发送HTTP请求是使用 Apache的HttpClient,它比较灵活。在 spring cloud 中往往提供的 REST 风格的服务。RestTemplate 提供了一种简单便捷的模板类来进行HTTP操作的方式。
张云飞Vir
2021/05/18
2.9K0
在OAuth 2.0中,如何使用JWT结构化令牌?
JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。
码农架构
2020/10/29
2.3K0
在OAuth 2.0中,如何使用JWT结构化令牌?
点击加载更多

相似问题

传递CSRF令牌

11

传递CSRF令牌

10

Android RestTemplate 403预期没有找到CSRF令牌

14

如何使用python请求库传递CSRF令牌?

57

将csrf令牌传递给Stripe

36
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文