Keycloak Java Adapter 属性“public-client”是啥意思?
Posted
技术标签:
【中文标题】Keycloak Java Adapter 属性“public-client”是啥意思?【英文标题】:What does Keycloak Java Adapter property "public-client" mean?Keycloak Java Adapter 属性“public-client”是什么意思? 【发布时间】:2021-05-23 21:15:36 【问题描述】:根据 Keycloak documentation,Java 适配器具有名为 public-client
的属性,描述为
如果设置为 true,适配器将不会将客户端的凭据发送到 Keycloak
“不会向 Keycloak 发送凭据”实际上是什么意思?
【问题讨论】:
【参考方案1】:在 Keycloak 中,您可以将客户端设置为公开或机密(或仅承载):
从OAuth 2.0可以阅读:
OAuth 定义了两种类型的客户端:机密客户端和公共客户端 客户。
机密客户端是能够安全地 与授权服务器进行身份验证,例如能够 为他们注册的客户保密。
公共客户端无法使用已注册的客户端机密,例如 在浏览器或移动设备上运行的应用程序。
更详细的来自source 可以阅读:
根据 OAuth 2.0 规范,应用程序可以分类为 无论是保密的还是公开的。 主要区别在于是否 应用程序是否能够保存凭据(例如客户端 ID 和秘密)安全。 这会影响身份验证的类型 应用程序可以使用。
机密应用程序可以以安全的方式保存凭据,而不会将其暴露给未经授权的各方。
如果客户端是机密的,那么它将包含一个客户端机密:
这“不会向 Keycloak 发送凭据”是什么意思
In 表示在请求中不会发送客户端密码。
【讨论】:
以上是关于Keycloak Java Adapter 属性“public-client”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
HttpSecurity 配置不适用于 Spring 上的 Keycloak Adapter
Spring Keycloak Adapter 为每个请求加载 Open-ID 配置