1

在测试 CORS 功能的端点时,我很好奇是否有人可以在使用 curl 时解释以下结果差异:

首先,我尝试了以下方法:

$ curl -i https://api.github.com -H "Origin: http://github.com" -X OPTIONS

这导致了成功的响应,这给了我对 Access-Control-Allow-Origin 标头等的期望。

其次,我试过这个:

$ curl -i https://api.github.com -H "Origin: http://jamesdh.github.com" -X OPTIONS

这导致了 500 错误。唯一改变的是初始请求中传递的 Origin 标头。

请原谅我对 CORS 的无知,但大多数服务器不只是在 Access-Control-Allow-Origin 响应标头中反映 Origin 路径吗?为什么 GitHub 会与一个正常工作,然后在另一个上炸毁?

4

1 回答 1

1

显然对于 CORS 请求,域必须首先在 GitHub 上注册为 OAuth 应用程序。从他们在http://developer.github.com/v3/#cross-origin-resource-sharing的文档中,我发现了以下内容:

任何注册为 OAuth 应用程序的域都被接受。这是一个样本...

如果他们再强调一点,那肯定会很好!创建使用所需 GitHub 页面 URL 作为域/回调 URL 的 OAuth 应用程序后,现在可以按预期工作!

于 2013-02-20T07:10:31.293 回答