首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CORS缺少“访问-控制-允许-方法”

CORS缺少“访问-控制-允许-方法”
EN

Stack Overflow用户
提问于 2019-08-07 11:33:25
回答 1查看 410关注 0票数 1

我已经配置了一个OpenApi端点,但是有些服务无法连接。

例如,Built.io流可以读取OpenAPI规范(JSON),但是当我选择一个操作时会崩溃,而Azure逻辑应用程序告诉我在导入OpenApi规范时存在一个潜在的CORS问题。

不过,其他服务工作正常,例如:

他们正确地获取OpenApi文档(v3.0.1)并将其标记为有效。

要调试该问题,我临时允许所有方法、源文件和标头。

这是飞行前请求的示例输出:

代码语言:javascript
复制
curl --request OPTIONS
  --url https://my-endpoint
  --header 'accept: application/json'
  --header 'access-control-request-headers: X-Test'
  --header 'access-control-request-method: GET'
  --header 'origin: https://flow.built.io'
  --head

和答复:

代码语言:javascript
复制
HTTP/1.1 200 OK
Cache-Control: no-store
Server:
X-Frame-Options: DENY
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: X-Test
Access-Control-Max-Age: 60
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWFtXFNDSFxzdHlsZWxhYnMubVxzcmNcU3R5bGVsYWJzLk0uUG9ydGFsLldlYi5VSVx2MVxvcGVuYXBpXERlbW9Eb21haW4=?=
X-Content-Type-Options: nosniff
Date: Wed, 07 Aug 2019 11:21:01 GMT
Content-Length: 0

实际要求:

代码语言:javascript
复制
  curl --request GET 
  --url https://my-endpoint
  --header 'accept: application/json'
  --header 'origin: https://flow.built.io'
  --head

和答复:

代码语言:javascript
复制
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Length: 775
Content-Type: application/json; charset=utf-8
ETag: "Lk4Y9t0X5UEvgxtRUQ0MGoqYu4l4cN53Ji5NpB3lhzI="
Server:
X-Frame-Options: DENY
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: *
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWFtXFNDSFxzdHlsZWxhYnMubVxzcmNcU3R5bGVsYWJzLk0uUG9ydGFsLldlYi5VSVx2MVxvcGVuYXBpXERlbW9Eb21haW4=?=
X-Content-Type-Options: nosniff
Date: Wed, 07 Aug 2019 11:26:00 GMT

CORS头在我看来是正确的,但是“访问控制-允许-方法”丢失了吗?这会是问题吗?

我使用的是ASP.NET框架和“Microsoft.AspNet.WebApi.Cors”5.2.7,配置如下所示:https://learn.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api

在我的控制器上,我有一个属性:

代码语言:javascript
复制
    [EnableCors(origins: "*", headers: "*", methods: "*", exposedHeaders: "*", PreflightMaxAge = 60)]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 08:18:40

我发现了问题..。Built.io和Azure逻辑应用程序不支持Swagger/OpenApi 3,问题不是CORS,尽管Azure逻辑应用程序已经这么说了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57393482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档