邮递员模拟服务不接受预检请求
Posted
技术标签:
【中文标题】邮递员模拟服务不接受预检请求【英文标题】:Postman mock service not accepting preflight request 【发布时间】:2017-12-16 08:05:54 【问题描述】:使用 Postman Pro API,我为我的收藏创建了一个 Postman 模拟。
我为 GET /auth/jwt/login
创建了一个示例响应,它返回一个示例 JWT 令牌。
我已经通过邮递员成功使用了模拟(包括x-api-key
标头),但是当我尝试在浏览器中使用它时,将标头添加到我的请求中(使用 axios),邮递员响应预检 OPTIONS 请求
"error":"name":"invalidCredentialsError","message":"Please provide the required `x-api-key` authentication header."
正如预期的那样,浏览器正在剥离 x-api-key 标头(根据 CORS 规范),请参阅:How do you send a custom header in a cross-domain (CORS) XMLHttpRequest?
那么在开发过程中如何使用我的应用程序中的 Postman 模拟服务器?
【问题讨论】:
【参考方案1】:这似乎在预检 OPTIONS
请求中缺少 x-api-key
。您可以检查OPTIONS
请求并查看x-api-key
标头是否正在传递?
如果 x-api-key
正在传递,则检查响应是否正在发送 Access-Control-Allow-Origin: *
标头。如果不是,那么您的 CORS 请求将不起作用。模拟服务器需要允许这样做,AFAIK 很快就会向所有用户推出。
【讨论】:
我还发送了电子邮件至 help@getpostman.com 并收到以下回复。We're aware of this, and will be rolling out support for CORS soon, hopefully within a week. Stay tuned to https://twitter.com/postmanclient for updates
所以看起来邮递员方面的问题不允许预检。
@Kieran - 你现在应该可以使用它了。为我工作。以上是关于邮递员模拟服务不接受预检请求的主要内容,如果未能解决你的问题,请参考以下文章