【发布时间】:2017-11-09 13:07:36
【问题描述】:
所以我正在尝试实现 OAuth 2 流程,而我的 webapp 是提供授权码/访问令牌的服务器。
将代码发送回第三方网站(本例中为zapier)时发生Cors错误:
XMLHttpRequest 无法加载 https://zapier.com/dashboard/auth/oauth/return/App505CLIAPI/?code=somecode&state=somestate。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'https://myurl' 因此不允许访问。
如果我手动打开一个新标签,粘贴该 zapier uri,一切正常。
似乎是典型的 CORS 问题,但流行的解决方案都不适合我:
- 添加
Access-Control-Allow-Origin:我正在使用这个oauth2orize 图书馆,并且向预检发送响应似乎也是 图书馆。所以我不能添加标题。 - 使用cors:尝试了
app.use(cors())和app.options('*', cors()),它们应该适用于所有路由,但根本不起作用。
我的 webapp 位于 node express 服务器上,前面有一个 nginx 代理服务器。
感谢您提出问题的任何想法。
【问题讨论】:
标签: node.js express oauth-2.0 cors preflight