【发布时间】:2018-11-12 09:51:31
【问题描述】:
我正在尝试使用 Postman 使用 Identity Server Asp.net Core 测试我的 API。
这是我正在尝试做的方式:
- 第一个请求
HttpGet到 https://localhost:5000/Account/Login 并在响应正文中收到:<input name="__RequestVerificationToken" type="hidden" value="CfDJ8MoS9upoM4dNp8Kx-AdvA-uYr13_PAkuMZpzYMV8UmxZq5GdLTvN-Ht5NpTLmPtlhL5d5z2Hu2vUJoJGhk1AMlARDcOwqgq7Cef1dfQL_vl4tIFM4kx9RZPz8DHU26-U9qLnKAIstZgR42-1FuGNh24" />
- 然后
HttpPost到https://localhost:5000/Account/Login 和RequestVerificationToken以及从正文HttpGet请求中收到的令牌。
并且总是error 400,正如您在上面的屏幕截图中看到的那样。
在 Visual Studio 中,我可以看到一些请求被捕获,但显然是不正确的。
如果我要删除属性[ValidateAntiForgeryToken],那么当然一切正常,但显然是因为该验证被禁用。
【问题讨论】:
-
输入字段名称为
__RequestVerificationToken。注意开头的双下划线。 -
对,我之前用 __ 尝试过,同样的问题出现了。
-
你是否将它包含在正文中?它是一个表单域,而不是一个标题。
-
是的,我也在尝试身体。
-
他需要它来获取承载令牌并能够将这些承载令牌添加到他的 API 请求中,以便他可以测试具有 [Authorize] 属性的方法。我也有同样的问题。
标签: asp.net-core asp.net-identity postman identityserver4