我已经为 keycloak 服务器中的浏览器流程实现了访问令牌身份验证器 SPI。此身份验证器 SPI 将挑战用户提供 access_token 以登录。预期用例,
- 两个应用程序 APP1 和 APP2 相互交互。
- APP1 使用 keycloak,而 APP2 使用自己的身份验证。
- APP2 的用户是在 APP1 的 keycloak 实例中创建的,使用系统生成的默认密码,不与任何人共享(绝不让该用户直接登录 APP1)。
- APP2 使用 iframe 为用户启动 APP1 的网页。
- Keycloak access-token-authenticator SPI 质询使用接受 access_token 的新登录表单进行请求。
- APP2 从 APP1 的 keycloak 实例获取 access_token(APP2 注册为客户端,可以模拟用户)。
- APP2 将该访问令牌设置到表单中并提交。
- access-token-authenticator SPI 将验证令牌并在成功授予对 APP1 中所请求资源的访问权限后为该令牌创建用户模型。
此流程运行良好,但我需要对领域安全防御进行更改,
- X-Frame-Options 设置为空白。
- Content-Security-Policy,删除了框架祖先“self”。
我想知道这是否是删除这些响应标头的安全实现?如果没有,是否有任何方法可以仅针对此自定义访问令牌身份验证器 SPI 限制这些响应标头?
注意:尝试通过在质询响应对象中添加这些响应标头,但是它们在存在时被领域设置覆盖。