在特定情况下,我无法在我的存储库中直接使用Google登录Javascript APi。因此,我需要在单独的iframe中通过脚本远程初始化API,并通过iframe消息进行通信。这会导致iframe问题,例如
拒绝在帧中显示“ https://accounts.google.com/o/oauth2/auth?redirect_uri= ...”,因为它将“ X-Frame-Options”设置为“ sameorigin”。
这是有道理的,并且可以预期,因为iframe不应该具有完全重定向用户的功能。
作为一种解决方案,我希望能够在本地执行页内整页重定向。为此,我需要在iframe中检索结构化的Google redirectUri https://accounts.google.com/o/oauth2/auth?redirect_uri=...
,然后通过发布消息将其发送回主机,以便我可以在本地设置window.location.href = redirectUri
并继续进行签名,从那里进行中。
但是,我发现由于我是通过iframe中的attachClickHandler
触发iframe逻辑的,因此逻辑错误出来并发回Authorize failed
。有没有一种方法可以只检索google redirectUri而不会尝试使用Google的API方法来重定向用户,还是我必须在本地手动构造它然后进行重定向?