首页 > 解决方案 > CSRF 令牌验证失败,如何使用 serenity 放心框架修复?

问题描述

我正在使用宁静放心框架,我执行以下步骤。

1)使用 GET 请求能够获取响应标头中的 CSRF 令牌。

2)然后我尝试使用相同的获取的 CSRF 令牌来发布另一个请求,我收到“CSRF 令牌验证失败”

response = RestAssured.given()
            .when ()
            .contentType (ContentType.JSON)
            .queryParam("$top", "10&$filter=ContactID eq 'LZebLLUr590jmVsgpILwAQevxhhHdfjkhdkfjbnkdf' & ContactOrigin='XXXX'&$format=json")
            .header("Authorization","Bearer"+" "+SapLoginAPISteps.authToken)
            .header("x-csrf-token",SapGetCsrfTokensApiSteps.csrfToken)
            .header("Connection",SapGetCsrfTokensApiSteps.Connection)
            .header("set-cookie",SapGetCsrfTokensApiSteps.cookie)
            .get();

标签: javarest-assuredserenity-bddserenity-js

解决方案


提供的详细信息不足以提出解决方案,但我认为您应该保留授权、csrf 令牌和 cookie 的所有有效数据。即使其中之一无效,服务调用也会失败。尝试通过 Postman/Fiddler 等工具手动调用服务,您会知道哪个是错误的。


推荐阅读