我正在使用 Postman 试验 TeamCity API。执行请求时POST
,PUT
您需要提供Authorize
带有永久令牌的标头,以及X-TC-CSRF-Token
必须在上一次调用中请求的标头。
例如,在 Powershell 中,这种方法运行良好。但在 Postman 中,我收到 403 错误,因为 CSRF 令牌不匹配。根据文档:
从 TeamCity 角度考虑 HTTP 请求安全性时,将按顺序进行以下检查:
- 如果 HTTP 请求在参数或 HTTP 标头中具有安全的 CSRF 令牌,并且该令牌与存储在用户会话中的令牌匹配,则被视为安全。
- 如果 HTTP 请求是非修改请求(例如 GET ),则认为它是安全的。
我猜是因为两个 Postman 请求中的用户会话不一致,所以失败了。尽管我在预请求脚本中设置了它。或者可能是与 cookie 有关,如前所述这里。
我查看了 Postman 设置,但没有发现任何明显的需要更改的地方。有什么想法吗?