You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Garden演示环境中Banno Digital Toolkit iframe加载遇authorization request has expired错误

解决Banno Digital Toolkit在Blink引擎浏览器iframe中出现"authorization request has expired"的问题

可能的原因及排查方向

  • Blink引擎跨域Cookie策略差异
    即便已开启第三方Cookie,Blink对iframe中SameSite属性的处理比Firefox严格:

    • 若认证会话Cookie设置为SameSite=Strict,Blink会拒绝在跨域iframe中携带该Cookie,导致认证上下文丢失,触发重新登录流程,最终出现请求过期。Firefox对SameSite=Strict在iframe中的限制更宽松,因此不受影响。
    • 需确认认证流程中返回的会话Cookie是否配置了SameSite=Lax,或跨域场景下的SameSite=None; Secure(必须搭配Secure属性)。
  • iframe内OIDC跳转的上下文丢失
    Blink引擎对iframe中的顶级跳转限制更严格,当认证服务返回302到/login时,iframe内的跳转无法正确保留OIDC请求的上下文(如state参数、临时会话),后续调用/oidc/auth/xyz时找不到有效会话,返回400过期错误。而全屏模式是顶级窗口,跳转不受限制,所以所有浏览器都能正常运行。

  • 跨域存储的访问限制
    若认证服务依赖sessionStorage或localStorage存储请求上下文(如state、nonce),Blink引擎在iframe中对跨域存储的隔离策略比Firefox更严格,导致无法读取上下文,触发请求过期。

  • HTTPS环境下的缓存问题
    Blink对iframe中302跳转的缓存处理可能与Firefox不同,若认证请求响应未配置Cache-Control: no-cache, no-store,浏览器可能复用过期的跳转地址,引发错误。

验证步骤

  1. 用Chrome DevTools的Application面板,检查认证相关Cookie的SameSite属性。
  2. 在Network面板对比Blink和Firefox中OIDC请求的Cookie携带情况,确认Blink是否在跳转后丢失关键会话Cookie。
  3. 临时调整认证服务的CookieSameSite属性为Lax或None; Secure,测试是否解决问题。

内容的提问来源于stack exchange,提问作者Darin R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 12:15:35