当前位置: 首页 > 知识库问答 >
问题:

KeyCloak公共vs保密客户端

汤兴生
2023-03-14

我有一个前端和后端应用程序(angular spring boot)。前端用作静态web内容,然后它将其余调用发送到同一端口上的后端API。

带有OpenID协议的keydape用于用户身份验证和角色管理。在需要身份验证的请求中,浏览器被重定向到KeyClope,用户给出用户名和密码,然后用户角色被返回到浏览器并写入访问令牌。

随后前端将此访问令牌与每个请求一起发送,后端在满足请求之前根据KeyCloaks公钥检查令牌签名。

目前,它可以在KeyClope中与一个公共客户端配合使用。但我必须转用机密客户。

这怎么可能呢?我的理解是,机密应用程序需要令牌请求中的客户端机密,而不能发送到浏览器。。。因为这是秘密。

有人能解释一下吗?

共有1个答案

余善
2023-03-14

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

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

BFF模式(前端的后端):介绍

本视频也是一个很好的介绍您必须做的事情:

警报'OAuth 2 0';//XSS对SPA中OAuth 2 0的影响

 类似资料:
  • 我们使用keycloak-adapter与Jetty一起使用KeyCloak进行身份验证和授权。根据OIDC Auth流程的Keycloak文档: 我们有连接到Jetty并使用Auth的webapps。因此,我们创建了一个公共客户端,它对WebApp/REST身份验证非常有效。 问题是,一旦我们启用授权,客户端类型就会从公共类型转换为机密类型,并且不允许将其重置为公共类型。现在,我们在汤里。由于授

  • 应如何管理它们? 一些更具体的问题: 根据定义,本机应用程序(实际上是公共客户端)不能安全地存储其凭据(client_id+secret)。是未注册的客户吗?如果我不能使用秘密来验证/验证它,我还应该做什么? 客户端注册≠endpoint注册:第一个是关于注册客户端凭据();第二个关于注册客户端重定向endpoint。重定向endpoint注册是否足以授予客户端的真实性? 客户端凭据授予是否使用相

  • 问题内容: 我正在寻找红宝石客户端的一些文档,用于redis,但运气不佳。我正在使用键,但是我听说它们在生产Redis中的性能很差。 想切换到,但我没有找到任何示例。也尝试过 对此有点感激。谢谢。 编辑:将Redis客户端从3.0.4更新到3.0.7后, 工作。 问题答案: 像这样做: 这是您需要的“文档”。 请务必也可以参考官方文档中。

  • 我有一个受KeyCloak保护的前端Javascript客户端。前端应用程序的Keycloak客户机类型为,称为。 我还有一个受客户端“blog_api”保护的API,并启用了。 当我从前端应用程序向API发出请求时,我从客户机(blog_gui)发送由keycloak发出的JWT作为请求头中的承载令牌。

  • 当我在Keycloak中设置公共客户端时,为本地沙箱设置所有必需的字段 访问类型:公共 有效重定向URI:http://localhost:3000/* 网站来源:* 我将Keycloak OIDC JSON从installation选项卡保存到本地文件中,添加我的Node.js应用程序并点击http://localhost:3000/protected,我在浏览器中得到以下页面: 对于只承载客户