"LinkedIn登录:阻止了源自"https://platform.linkedin.com"的框架访问源自的框架。

5

我们之前使用LinkedIn的Javascript SDK成功地设置并运行了“通过LinkedIn登录”的代码,但是几天前我们突然遇到了以下问题:

Blocked a frame with origin "https://platform.linkedin.com" from accessing a frame
with origin "https://OUR_SITE". Protocols, domains, and ports must match.

登录无法完成(从LinkedIn返回到我们的页面并永远等待)。我不知道为什么我们开始遇到这个错误,当一切都正常工作时(我们没有更改有关登录机制、允许来源标头/文件或LinkedIn设置的任何代码行),但我决定添加platform.linkedin.com以允许来源标头: Access-Control-Allow-Origin: https://platform.linkedin.com 我可以看到响应中正确发送了标头。然而,我仍然遇到了完全相同的错误
为什么会出现这种情况,我们该如何防止这种情况发生?我的意思是,我知道微软收购了LinkedIn,但他们不能那么快就把它弄坏了。

你的网站是http还是https? - Yehonatan
@Yehonatan,这是https,因此协议和端口匹配。 - Can Poyrazoğlu
1个回答

1
似乎它永久破坏了。
我最终完全放弃了LinkedIn SDK,并使用vanilla JS打开一个窗口,检查其事件,重定向回到我的域(以能够读取窗口位置而不会遇到浏览器沙盒)并从那里读取令牌以手动执行任何操作。
我从未见过一家公司如此不关心自己的开发者平台,但再次,至少作为开发者,我可以告诉您,您可以手动实现“使用LinkedIn登录”的机制。

嗨,我有一个类似的问题,但只在移动网页上出现(出于某种奇怪的原因,在桌面上它可以工作)。你能详细解释一下如何解决吗?谢谢。 - Dave
@Dave,我很乐意帮忙(但我已经停止在那个项目上的工作),但我需要知道你的问题是什么。如果这个问题不是一个确切的重复/这个问题/答案不能解决你的情况,也许你可以开一个新的问题,并添加一个链接作为评论。 - Can Poyrazoğlu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接