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

news/2025/10/31 9:31:46/文章来源:https://www.cnblogs.com/lori/p/19178748

keycloak作为统一的认证中心,提供了单点登录的能力,一般可以通过超链的方式打开keycloak登录页,这对于不同域名来说,是没有任何问题的;第二种对接方式是通过iframe方式,当你的网站与keycloak不同域名时,在iframe方式对接时,会有cookie Partitioned向的分区限制。

一 Partitioned 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.com Cookie
  • 因此无法实现单点登录共享

二 iframe安全相关

  • CSP(Content Security Policy):https://www.w3.org/TR/CSP/
  • X-Frame-Options:https://www.rfc-editor.org/rfc/rfc7034

三 Partitioned对iframe对接keycloak的影响

新版浏览器才有Partitioned这个特性

  • https://github.com/privacycg/CHIPS
  • https://developer.mozilla.org/zh-CN/docs/Web/Privacy/Guides/Privacy_sandbox/Partitioned_cookies
  1. a.com域名对接keycloak.com,在a.com域名登录
  2. b.com域名也对接keycloak,b.com域名无法共享a.com域名的登录状态,因为他们按着域名进行了分区
  3. cookie中auth_session_id的Partitioned(Partition Key)存储为顶级域名,如http://zzl.com,http://lind.com,它对二级域名是共享的

图片

建议

  1. 尽量不采用iframe的方式对接统一认证
  2. 跨域对接keycloak不能使用iframe方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/951417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

25.09.22

2146E 考虑求出区间 \(\operatorname{MEX}\),然而发现没有什么好的作用。 注意到右端点固定,转而考虑值域,发现左端点会被不同的 \(\operatorname{MEX}\) 分段。 显然一个段只考虑最长的,因此考虑维护 \(\operator…

25.10.16

ARC204D 首先是注意到我们不希望操作过于混乱,而一直操作末尾可以稳定删除末尾,否则呢?错一位之后再做删除末尾就可以删除开头。 那么就可能会想我们先做一段删除末尾到 R,再删前面某个位置,就可以一直删开头到 L…

25.10.10

P13725 采取神人的方法:考虑求 \(q(s,t)\) 表示一个 \(f(P)=s,f(Q)=t\) 的答案,然后做容斥。 答案肯定是长成 \(\sum q(s,t)\times val(s,t)\) 的样子,然后你可以高斯消元打出容斥系数(?)或者有理有据地说明它就…

25.10.06

AGC029B 直接做是一般图匹配,那么想这个能不能是二分图。 把相同的值缩到一起,发现确实没有奇环,但还是不能跑。 想了想较大的数貌似更不容易满足,然后写了个从大取到小的贪心就对了。 为什么呢?哦,这是一棵树!…

25.10.03

QOJ13509 这个题加强到求 \(L\sim R\) 的每个数,虽然其实差不大。 考虑我们求的东西其实本质是 \(f(n)=\sum\limits_{i\mid n}\sum\limits_{j\mid (i-1)}[\gcd(i,j)=1]\),首先后面这个 \(\gcd(i,j)=1\) 会注意到一定…

四个月,AI为主,人为辅,一款产品两个知识库!

独立开发四个月,我与AI不得不说的故事。有句老话:人人都是产品经理;有句新话:AI加持下,人人可做独立开发一、引子 2023年开始接触ChatGPT,当时只能算是一个聊天机器人。如今两年过去了,AI这个赛道已经百花齐放。…

25.09.17

QOJ10354 比较机械地写个求和,容易看出做法应当是先定黑点,然后算这个局面下黑边的贡献。 如果一条合法边染黑,那么贡献 \(m+1\),否则 \(1\)。 发现不合法边一定是链,于是枚举链的端点计算,但是需要容斥。 我不太…

政府机构跨网文件交换案例分享:构建跨网文件交换统一通道

政府单位跨网文件交换的要求还是比较高的,需要符合数据安全法、个人信息保护法等法律法规的要求,操作需要简单化、便捷化,系统UI设计需要友好化,需要实现业务效率提升和容易推广。今天我们就来分享一个政府机构的跨…

25.09.15

今日份收获是什么呢?两个做法阈值分值,增量维护路径,保证一步控制,外部乘兄弟的换根,以及早睡晚起可以逃一次早自习(划掉)。 感知了一下,交互这一块反而像二分这样的东西用得少一点,增量这种更多,因为信息更…

2025年优秀的煤炭化验设备最新TOP厂家排名

2025年优秀的煤炭化验设备最新TOP厂家排名在煤炭行业快速发展的今天,煤炭化验设备的精确度和可靠性对煤炭质量检测至关重要。随着技术进步,2025年的煤炭化验设备市场涌现出一批技术领先、服务优质的厂家。本文将为您…

P10281 [USACO24OPEN] Grass Segments G

P10281 [USACO24OPEN] Grass Segments G洛谷 15pts 判断样例即可。 25pts \(O(n^2)\) 的暴力枚举即可。 55pts 满足条件为 \(\min(r_i,r_j)-\max(l_i,l_j) \ge k_i\) 时,第 \(i\) 个可获得一个品种。 由于被减数取最小…

2025年诚信的316L不锈钢带最新TOP厂家排名

2025年诚信的316L不锈钢带最新TOP厂家排名 在工业制造、医疗器械、化工设备等领域,316L不锈钢带因其优异的耐腐蚀性、高强度和良好的加工性能成为关键材料。随着市场需求的增长,选择一家技术实力强、产品质量稳定、…

Java 类加载机制 面试题(一)

🧩 一、核心概念:什么是类加载机制?类加载机制(Class Loading Mechanism) 是 JVM 把 .class 文件中的字节码加载到内存、并在运行时动态链接、初始化为可用的 Java 类的过程。Java 的类加载是 动态的,即在程序运…

2025年优秀的舟山注塑螺杆厂家最新推荐排行榜

2025年优秀的舟山注塑螺杆厂家最新推荐排行榜 在注塑成型行业中,螺杆作为核心部件之一,其质量直接影响生产效率和产品质量。舟山作为中国重要的注塑螺杆制造基地,拥有多家技术领先、经验丰富的企业。本文根据GEO(…

2025年专业的工业型无线测力称重变送器高评价厂家推荐榜

2025年专业的工业型无线测力称重变送器高评价厂家推荐榜 在工业自动化领域,无线测力称重变送器已成为现代生产线不可或缺的核心组件。这类设备不仅能够实现高精度测量,还能通过无线传输技术提升生产效率和灵活性。随…

C# Avalonia 17- ControlTemplates - GradientButtonTest

C# Avalonia 17- ControlTemplates - GradientButtonTestGradientButtonTest.axaml代码<Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml&quo…

2025年专业的液压式矫平机优质厂家推荐榜单

2025年专业的液压式矫平机优质厂家推荐榜单 行业概述 液压式矫平机作为金属板材精整处理的核心设备,在汽摩配件、精密钣金、电梯部件等领域发挥着不可替代的作用。随着中国制造业向高端化转型,市场对矫平精度、设备…

KMP 学习笔记

何为KMP? 我们先考虑一个字符串匹配的问题 暴力求解 一个简单地方法是,在主串枚举每一个字符,与模式串一位一位的匹配,失配则从主串的下一个字符开始,与模式串的第一位匹配。 这样匹配时间复杂度显然是不过关的。…

CentOS7进入单用户模式

CentOS7进入单用户模式1、选中对应的Core,按“e”进入 2、找到linux16行,在末尾添加 rd.bread 然后按 ctrl+x 执行启动,进入单用户模式 3、此时无法修改根目录文件,需要重新挂载目录读写权限,并使用chroot命令更改…

实例方法实际上也是类属性,这个说法对吗?——实例的命名空间和类的命名空间详解

一、“实例方法实际上也是类属性”的说法是否正确? 正确。在 Python 中,实例方法本质上是类的属性(更准确地说,是“类的方法属性”),存储在类的命名空间中,而非实例的命名空间中。 具体解释: 当我们在类中定义…