我已经读了两个小时这个反向代理的文档来添加CORS头文件,我无法使用.能否请您帮助一个简单的例子如何使用它.
我在javascript中尝试过这个例子
(function() {
var cors_api_host = 'cors-anywhere.herokuapp.com';
var cors_api_url = 'https://' + cors_api_host + '/';
var slice = [].slice;
var origin = window.location.protocol + '//' + window.location.host;
var open = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function() {
var args = slice.call(arguments);
var targetOrigin = /^https?:\/\/([^\/]+)/i.exec(args[1]);
if (targetOrigin && targetOrigin[0].toLowerCase() !== origin &&
targetOrigin[1] !== cors_api_host) {
args[1] = cors_api_url + args[1];
}
return open.apply(this, args);
};
})();
Run Code Online (Sandbox Code Playgroud)
我真的不明白我是否需要node.js或究竟是什么
我想让用户使用 github 登录我的网络应用程序(之后我可以使用他们的姓名/电子邮件等),就像您可以使用 Google 或 Facebook 登录 stackoverflow 一样。我知道你必须让用户登录 github,一旦他们验证了你的应用程序,你就可以从用户重定向到的页面的 url 中检索代码,并使用该代码发出 POST 请求来获取访问权限代码,您可以使用它来访问 github API。但是,当我对访问代码发出 POST 请求时,出现 CORS 错误:
无法加载https://github.com/login/oauth/access_token?client_id=7...&client_secret=b...&code=f ...:对预检请求的响应未通过访问控制检查:否' Access-Control-Allow-Origin'标头存在于所请求的资源上。因此,不允许访问来源“ http://localhost ”。
响应的 HTTP 状态代码为 404。
这是我的 POST 请求:
$.ajax (
{
url:"https://github.com/login/oauth/access_token?client_id=7...&client_secret=b...&code=" + authCode, // Extraction of authCode has no bugs
type:'POST',
dataType:'json',
success: function() {
alert('success');
},
error: function() {
alert('error');
}
});
Run Code Online (Sandbox Code Playgroud)
如何纠正此问题以便集成登录?
编辑:我无法使用像网守这样的外部应用程序。这是一个测试网站,但最终将用于公司网站。