gpt4 book ai didi

asp.net-core - 如何在 IdentityServer ASP.NET Core 中使用 Postman 调用带有 AntiForgeryToken 的 API

转载 作者:行者123 更新时间:2023-12-03 06:35:26 25 4
gpt4 key购买 nike

我正在尝试使用 Postman 使用 Identity Server Asp.net Core 测试我的 API。

这是我试图做的方式:

  • 第一个请求 HttpGethttps://localhost:5000/Account/Login我收到了回复正文:<input name="__RequestVerificationToken" type="hidden" value="CfDJ8MoS9upoM4dNp8Kx-AdvA-uYr13_PAkuMZpzYMV8UmxZq5GdLTvN-Ht5NpTLmPtlhL5d5z2Hu2vUJoJGhk1AMlARDcOwqgq7Cef1dfQL_vl4tIFM4kx9RZPz8DHU26-U9qLnKAIstZgR42-1FuGNh24" />

  • 在 Cookie 中(但不确定它是什么):
    enter image description here
  • 然后HttpPosthttps://localhost:5000/Account/LoginRequestVerificationToken从正文收到 token HttpGet要求。
    enter image description here

  • 永远 error 400正如您在上面的屏幕截图中看到的那样。

    在 Visual Studio 中,我可以看到捕获了一些请求,但显然不正确。
    enter image description here

    如果我删除属性 [ValidateAntiForgeryToken]那么当然一切正常,但显然是因为该验证被禁用。

    最佳答案

    您需要执行以下操作才能发送此类请求:
    1.) 在 x-www-form-urlencoded 中输入 __RequestVerificationToken 键值(不要忘记双下划线)
    2.) 您需要将 .AspNetCore.Antiforgery cookie 添加到 Postman 的 Cookies 部分。
    例如像这样
    .AspNetCore.Antiforgery.1XHiLFgQI2w=你的cookie值;路径=/;域=本地主机;到期= session ;
    您可以在 Google Developer Tools 的 Application 部分找到 .AspNetCore.Antiforgery cookie
    .AspNetCore.Antiforgery cookie in Google Developer Tools picture
    Add cookie in Postman picture

    关于asp.net-core - 如何在 IdentityServer ASP.NET Core 中使用 Postman 调用带有 AntiForgeryToken 的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50657232/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com