我正在尝试使用Postman在一个项目上测试Web API,这个项目是我从以前的开发人员那里继承的。到目前为止,我只知道身份验证是使用ASP.Net Identity and Identity Server4.0配置的,它实现了OAuth,并发布了短期的JSON Web令牌(JWT)和刷新令牌。
如果我导航到开发网站,登录(成功),并使用Chrome开发人员工具检查初始登录请求,我可以看到请求正文包含一个表单,其中包含3个字段:userName、password和returnUrl。如果右键单击请求,我可以将请求复制为cURL (bash),并且可以在Postman中导入数据以创建新请求。如果我发送请求,我会得到一个status 200 OK,响应包括6个cookie。但是,响应的主体包含一个Postman无法呈现的htlm页面和一个消息You need to enable JavaScript to run this app.
我现在不知道如何使用响应来验证对某些数据的请求。我需要的令牌是否包含在其中一个cookie中?如何提取令牌并在请求某些数据时使用它?任何建议或建议都将非常受欢迎。
发布于 2021-05-20 01:18:22
通常,在浏览器中启用JavaScript后,<form>将使用method自动发送到在action中定义的目的地。JavaScript会做如下所示的事情:
window.addEventListener('load', function(){document.forms[0].submit();});因此,如果没有JavaScript,您将需要以某种方式解析收到的form并重新创建等价的请求。
成功登录后收到的form包含应发送回原始网站的数据,以验证最终用户的身份。
例如,表单正文包含由OpenID协议定义的隐藏输入字段:
...
<input type='hidden' name='token_type' value='Bearer' />
<input type='hidden' name='expires_in' value='600' />
...表单action属性指向您网站上的sign-in端点。例如:
<form method='post' action='https://{hostname:post}/signin-oidc'>https://stackoverflow.com/questions/67518031
复制相似问题