我们在IFrame中呈现我们的应用程序。应用程序在Azure Active Directory中受到保护。每当访问令牌过期,或者用户第一次访问时,Azure Active Directory登录或同意窗口都不会显示在IFrame中,因为X-Frame-Option对于AAD屏幕是拒绝的,有没有办法使用JS知道会话已经过期。如果会话到期,则显示带有AAD登录页面弹出屏幕。我们正在尝试获取基于刷新令牌的访问令牌。请告诉我是否有更好的方法来处理访问令牌。
在我的网站上,我们创建了一个弹出窗口,重定向到谷歌授权,登录后指定的RedirectUri返回到我的网站。在主窗口中,我们检查弹出窗口的状态,以确定用户是否已经登录,以便我们可以关闭此弹出窗口。
通常,一旦用户登录并将弹出窗口重定向回我的网站,我们就可以访问主窗口中的弹出窗口。但是,从最新版本的Chrome (v.63.0.3239.132)开始,我们会得到以下错误:
DOMException: Blocked a frame with origin "..." from accessing a cross-origin frame.
这似乎与有关,但是我们并不是从iframe
最新的safari更新块第三方饼干在iframe。( )
他们为解决这一问题提供了若干解决办法。我尝试过实现解决方案,但是我很喜欢结果。
有没有人在没有技术细节的情况下给出一个提示或一个示例流来说明如何实现:
Option 1: OAuth 2.0 Authorization with which the authenticating domain (in your case, the third-party
that expects cookies) forwards an authorization token to your website which you consume and