【问题标题】:Keycloak public vs confidental clientKeycloak 公开与机密客户
【发布时间】:2022-01-16 23:35:06
【问题描述】:

我有一个前端和后端应用程序(angular + spring boot)。前端作为静态 Web 内容提供,然后将 REST 调用发送到同一端口上的后端 API。

使用 OpenID 协议的 Keycloak 用于用户身份验证和角色管理。根据需要身份验证的请求,浏览器将重定向到 Keycloak,用户提供用户名和密码,然后将用户角色返回给写入访问令牌的浏览器。

稍后前端会随每个请求发送此访问令牌,后端会在完成请求之前根据 Keycloaks 公钥检查令牌签名。

目前它可以在 Keycloak 中与一个公共客户端正常工作。但我需要切换到机密客户端。

这怎么可能?我的理解是,机密应用程序需要在令牌请求中提供客户端机密,不能将其发送到浏览器...因为它是机密的。

谁能解释一下?

【问题讨论】:

    标签: java keycloak openid-connect


    【解决方案1】:

    您通常倾向于转向 BFF 模式以更好地保护您的 SPA 应用程序,这样您就不必直接在 SPA 应用程序中处理令牌。

    在此处阅读有关 SPA 模式的更多信息:

    The BFF Pattern (Backend for Frontend): An Introduction

    这个视频也很好地介绍了你必须做的事情:

    alert‘OAuth 2 0’; // The impact of XSS on OAuth 2 0 in SPAs

    【讨论】:

      猜你喜欢
      • 2018-08-12
      • 2019-04-06
      • 2017-11-28
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      • 2019-10-26
      • 2021-06-13
      • 2022-06-15
      相关资源
      最近更新 更多