java - 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();
解决方案
提供的详细信息不足以提出解决方案,但我认为您应该保留授权、csrf 令牌和 cookie 的所有有效数据。即使其中之一无效,服务调用也会失败。尝试通过 Postman/Fiddler 等工具手动调用服务,您会知道哪个是错误的。
推荐阅读
- html - 如何在 vscode 中格式化 django-html 代码
- python-3.x - Pyspark to_timestamp 与时区
- karate - 在 karate-core 中为可重用功能创建函数
- java - java.lang.IllegalArgumentException:非法值,当我尝试通过捆绑传递对象时
- java - 如何使用lombok为实体中嵌入类的成员变量分配默认值?
- javascript - 如何按降序获取项目的“范围”?
- reporting-services - SSRS 误差条(范围)图表未显示 Y 值(中心值)
- python - 如何取消选择pydatatable中特定索引处的行?
- algorithm - 这个时间复杂度计算对吗?
- java - 您可以将装饰器添加到子类的父方法和变量吗?