gpt4 book ai didi

javascript - 无法通过 SoundCloud 进行身份验证,登录回调正在尝试访问跨域框架

转载 作者:行者123 更新时间:2023-11-28 05:11:08 24 4
gpt4 key购买 nike

SoundCloud SDK v3.1.2

我大约 1 年前注册了我的应用程序。

今天我发现我的 SoundCloud (SC) 登录停止工作。

当我单击按钮时,SC 弹出窗口会出现,并显示消息“允许“domain.com”访问您的 SoundCloud 帐户?”,我单击连接并获取带有消息“此弹出窗口应在几秒钟内自动关闭”的回调弹出窗口。回调弹出窗口永远不会关闭。在开发控制台(对于回调弹出窗口)我看到以下错误:

Chrome 55.0.2883.87 m(64 位)
VM2980 callback.html?code=3717208…&state=SoundCloud_Dialog_508d9:7 未捕获的 DOMException:阻止源为“http://domain.com”的框架访问跨源框架。
在加载时(http://domain.com/callback.html?code=3717208cc602aba6cc0195157ecd2b6b&state…8d9#access_token=1-166020-17988851-e8f6b064d7ccd4&scope=non-expiring:7:105)
onload @ VM2980 callback.html?code=3717208…&state=SoundCloud_Dialog_508d9:7

火狐50.1.0错误:访问属性“SC”callback.html:1:1 的权限被拒绝 Learn More

我的回调.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Connect with SoundCloud</title>
</head>
<body onload="window.setTimeout(window.opener.SC.connectCallback, 1);">
<p>
This popup should automatically close in a few seconds
</p>
</body>
</html>

由我的页面上的按钮触发的 JavaScript 函数(在 AngularJS 1.6 组件 Controller 中):

... 
this.connect_sc = function () {
debugger;
// initiate auth popup
SC.connect().then(function () {
debugger;
return SC.get('/me');
}).then(function (me) {
debugger;
userPerma = me.permalink;
setScUi(me.username, me.avatar_url);
getPlaylists();
});
};
...

我尝试设置一些断点来调试它。在这里,我没有执行 SC Promise,它仅在我单击按钮后的第一个 debugger; 上中断。

这是为什么以及如何解决它?

最佳答案

我也遇到同样的问题。

我通过重定向修复了它。当我在没有“www”的网站中时,它不起作用,因为回调是用“www”注册的。

我添加了一个重定向,只让我的网站带有“www”,现在效果很好!

希望对您有所帮助。

关于javascript - 无法通过 SoundCloud 进行身份验证,登录回调正在尝试访问跨域框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41369787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com