keycloak~关于iframe方式对接keyclock的注意事项

发布时间:2026/7/1 2:16:43

keycloak~关于iframe方式对接keyclock的注意事项 keycloak作为统一的认证中心提供了单点登录的能力一般可以通过超链的方式打开keycloak登录页这对于不同域名来说是没有任何问题的第二种对接方式是通过iframe方式当你的网站与keycloak不同域名时在iframe方式对接时会有cookie Partitioned向的分区限制。一 Partitioned CookiePartitioned Cookie 的作用Partitioned Cookie是浏览器为了平衡功能与隐私而引入的新机制分区存储第三方Cookie不再全局共享而是按第一方网站第三方域名分区存储隔离保护防止跨站跟踪同时保留必要的跨站功能特定场景可用只有在特定第一方网站上下文中才能访问对应的第三方Cookie在你的场景中的影响a.com → kc.com (设置分区Cookie) b.com → kc.com (无法读取a.com分区下的Cookie)当前状态用户在a.com登录kc.com的Cookie存储在a.com分区下用户访问b.com时无法读取a.com分区下的kc.comCookie因此无法实现单点登录共享二 iframe安全相关CSP(Content Security Policy):https://www.w3.org/TR/CSP/X-Frame-Options:RFC 7034: HTTP Header Field X-Frame-Options | RFC Editor三 Partitioned对iframe对接keycloak的影响新版浏览器才有Partitioned这个特性https://github.com/privacycg/CHIPShttps://developer.mozilla.org/zh-CN/docs/Web/Privacy/Guides/Privacy_sandbox/Partitioned_cookiesa.com域名对接keycloak.com在a.com域名登录b.com域名也对接keycloakb.com域名无法共享a.com域名的登录状态因为他们按着域名进行了分区cookie中auth_session_id的PartitionedPartition Key存储为顶级域名如http://zzl.com,http://lind.com它对二级域名是共享的建议尽量不采用iframe的方式对接统一认证跨域对接keycloak不能使用iframe方式

相关新闻