我的Rocket chat托管在https://chat.mydomain.com
我的网络应用(iframe所在的位置)托管在https://app.mydomain.com
我已经能够在背面很好地注册用户,当他们登录时返回一个authToken。当我尝试将authLogin从我的ReactJS应用程序中发布回iframe时...
self
...但是,出现以下错误:
<iframe src="https://chat.mydomain.com/?layout=embedded" onLoad={() => this.login()} />
...
onLoad(){
window.parent.postMessage({
event: 'login-with-token',
loginToken: authToken
}, 'https://chat.mydomain.com');
}
有什么想法吗?
p.s。我已经在设置中启用了iframe集成以及已启用的CORS。
答案 0 :(得分:1)
尝试以下操作:
onLoad(){
window.parent.postMessage({
event: 'login-with-token',
loginToken: authToken
}, '*');
}
或放置一个ID iframe:
<iframe id = "myiframe" src="https://chat.mydomain.com/?layout=embedded" onLoad={() => this.login()} />
...
onLoad(){
document.getElementById('myiframe').contentWindow.parent.postMessage({
event: 'login-with-token',
loginToken: authToken
}, '*');
}