当前位置: 首页 > 知识库问答 >
问题:

如何从Postman rest客户端发送spring csrf令牌?

梁丘德寿
2023-03-14

我在Spring框架中有csrf保护。所以在每个请求中,我都从ajax调用中发送csrf令牌,这是完美的工作。

<meta name="_csrf" content="${_csrf.token}"/>
<meta name="_csrf_header" content="${_csrf.headerName}"/>

var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");

在ajax

beforeSend: function(xhr) {
                xhr.setRequestHeader(header, token),
                xhr.setRequestHeader("username", "xxxx1"),
                xhr.setRequestHeader("password", "password")
            }

共有3个答案

上官培
2023-03-14

首先,你需要安装邮递员拦截器并激活它来访问浏览器cookie。

>

  • 您必须通过发出GET请求来获取CSRF令牌:头:"XSRF-TOKEN"和值:"Fetch"

    你应该在cookie选项卡中看到令牌并可以复制它(注意:你可以配置spring如何命名cookie。也许你的cookie有另一个名称而不是“XSRF-Token”。注意:你有权从换行符中删除令牌中的这个空白字符)

    现在制作您的POST请求,并将标题设置为:标题:“X-XSRF-TOKEN”和值:“您复制的无空白令牌”

  • 羊和光
    2023-03-14

    我可以通过以下步骤使用csrf令牌发送REST:

    >

  • 在您登录时由Spring Security自动生成的CSRF令牌。它将显示在响应标头处。

    通过将X-CSRF-token设置为头上的CSRF令牌,可以在后续请求中使用CSRF令牌。

  • 帅博远
    2023-03-14

    要做到这一点,最简单的方法是始终如一,这样你就不必每次都拿到代币:

    注意:您需要安装邮递员拦截器并激活它才能访问浏览器cookie

    1. 创建一个新环境,以便存储环境变量

    创建一个带有测试的登录方法,将XSRF cookie存储在一个环境变量中,在“测试”选项卡中发布此代码

    //Replace XSFR-TOKEN with your cookie name
    var xsrfCookie = postman.getResponseCookie("XSRF-TOKEN");
    postman.setEnvironmentVariable("xsrf-token", xsrfCookie.value);
    

    为任何使用5.5.2邮递员或更高版本的人编辑,您还必须解码cookie,正如@Sacapuces指出的,他们还提供了获取cookie的替代方法

    pm.environment.set("xsrf-token", decodeURIComponent(pm.cookies.get("XSRF-TOKEN")))
    

    现在,您将有一个包含xsrf令牌的环境变量。

    保存您的登录方法

    创建要创建的新帖子,并在标题中添加XSRF令牌标题键和句柄栏中的环境变量以访问它{{}

     类似资料:
    • 问题内容: 我将实现类似于Facebook通知和此网站的内容(StackOverflow的通知会通知我们是否有人为我们的问题写评论/答案等)。请注意,用户将使用我的应用程序作为网站而不是移动应用程序。 我遇到以下获取结果的答案,但我需要推送结果而不是获取结果。 根据建议,我在实体类中创建了一个简单方法,并向其中添加了@PostPersist,但此方法不起作用,因此基于此答案,我添加了persist

    • 我正在尝试通过 tcp 连接远程执行程序,我想在客户端之间实时共享标准输出和标准输出 我有以下没有错误处理的测试服务器:p我知道,目前我无法执行带有参数的程序,但这很容易处理:) 你看,我尝试与 c.Write() 共享标准输出,但这不起作用。 我认为cmd.Stdin的另一个问题将与Stdout的问题相同。此时我没有实现任何标准函数。 有人能给我一个关于这个函数的提示或示例代码吗?

    • 我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s

    • 问题内容: 我在下面给出了一个POJO,我希望将其作为JSON或XML格式放入服务器。 这就是我所做的 客户: 我在网上发现的示例都在使用WebResource。 我不知道如何使用WebTarget。我所做的事情取自于SO上的一些示例,但Entity.entity()给出了错误的未定义方法entity(friend,String)。 POJO 请指导如何执行此操作。 谢谢 问题答案: 泽西岛有两种

    • 下面给出了一个POJO,我想把它作为JSON或XML放到服务器上。 这就是我所做的 客户: 我在网上找到的例子是使用网络资源。 我不知道如何使用WebTarget。我所做的是从SO上找到的一些示例中获取的,但是Entity.entity()给出了错误未定义的方法实体(朋友,字符串)。 POJO 请指导如何做到这一点。 谢谢

    • 在angular文档中,提到angular将在post请求的头中自动发送cookie的值。文档链接 但它没有为我发送标题。这是我的密码 Nodejs用于设置cookie的代码 我在app.module.ts中使用了http客户端 **以上代码仅用于调试目的。我没有set-csrf终结点。 但是当我发送帖子请求时,它不会发送任何标题。我不能调试。 我也在angular的github存储库中添加了这个