答案 0 :(得分:2)
我不确定这是多少“答案”,但我还没有足够的声誉来发表评论,我认为这是相关的。接受的答案根本没有真正解决iframe问题。
我无法在任何地方找到它,但我的猜测是,由于点击劫持问题,AWS不允许这样做。
Microsoft的Azure AD B2C(类似于Cognito的产品)的常见问题解答页面解释了为什么他们不允许将其托管页面嵌入到iframe中:
否,出于安全原因,无法在其中打开Azure AD B2C页面 一个iFrame。我们的服务与浏览器通信禁止 iFrame中。一般的安全社区和OAUTH2 规范,建议不要使用iFrame进行身份识别 由于咔嚓声的风险而经历。
来源: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-faqs
答案 1 :(得分:0)
您可以在Github上查看此帖子:https://github.com/aws/amazon-cognito-identity-js/issues/508。在ildar-icoosoft的回复中,他展示了他是如何设法将托管的UI置于弹出窗口中的。希望这可以帮助
答案 2 :(得分:0)
如果其他人正在寻找它:事实证明,如果将iframe的document.domain设置为amazoncognito.com,则cognito将在iframe中运行。当然,那么您要加载的基础资源必须在具有该域的iframe中运行。如果该基础资源使用Cookie,则如果在用户浏览器中禁用了第三方Cookie,则它们将不起作用。