Mailchimp 身份验证显示 Access-Control-Allow-Origin
Posted
技术标签:
【中文标题】Mailchimp 身份验证显示 Access-Control-Allow-Origin【英文标题】:Mailchimp authentication showing Access-Control-Allow-Origin 【发布时间】:2019-10-12 20:01:44 【问题描述】:与 mailchimp 集成时,我在获得 access_token 后进行身份验证,然后我还发送 get 请求以获取元数据并面临问题。
在同步用户名和密码后,我得到了 access_token,但这段代码出现错误:
var AccessToken = '<?php //echo $_GET['access_token']; ?>'
jQuery.ajax(
url: "https://login.mailchimp.com/oauth2/metadata",
type: 'GET',
beforeSend : function( xhr )
xhr.setRequestHeader( 'Authorization', 'OAuth ' +
AccessToken );
,
success: function( response )
console.log(response);
,
error : function(error)
console.log(error);
);
我也尝试从 curl 为:
public function list()
$url = 'https://login.mailchimp.com/oauth2/token';
$data = [
'grant_type' => 'authorization_code',
'client_id' => 345555555555555555555555,
'client_secret' => '4b0xxxxxxxxxxxxxxxxxxxxx5406a7d',
'redirect_uri' => 'http://127.0.0.1:8000/success',
'code' => $_GET['code']
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec ($ch);
$err = curl_error($ch); //if you need
curl_close ($ch);
return $response;
Access to XMLHttpRequest at 'https://login.mailchimp.com/oauth2/metadata' from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Cross-Origin Read Blocking (CORB) blocked cross-origin response https://login.mailchimp.com/oauth2/metadata with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.
send @ jquery.min.js:2
ajax @ jquery.min.js:2
(anonymous) @ list:74
【问题讨论】:
【参考方案1】:您的请求中的错误表明 CORB、
跨域读阻塞,俗称 CORB,是一种算法 识别并阻止了哪些可疑的跨域资源提取 在他们到达网页之前。 CORB 降低了泄漏的风险 敏感数据远离跨域网页。在 大多数浏览器,它将此类数据排除在不受信任的脚本执行之外 上下文。在具有站点隔离功能的浏览器中,它可以将此类数据拒之门外 完全不受信任的渲染器进程,甚至帮助 通道攻击。
由于您是从本地主机发出请求,因此它被认为是可疑来源,因此被阻止。
【讨论】:
你能建议我如何从 Oauth2 中的 access_token 获取元数据以上是关于Mailchimp 身份验证显示 Access-Control-Allow-Origin的主要内容,如果未能解决你的问题,请参考以下文章