首页 > 解决方案 > 为什么 keycloak.resource 不需要注册客户端的 ClientId

问题描述

我使用 Keycloak 并使用我的 application.properties 文件对其进行配置。

# Keycloak config (instead of keycloak.json)
keycloak.auth-server-url=http://localhost:8080/auth
keycloak.realm=demo
keycloak.resource=DemoApplication
keycloak.principal-attribute=preferred_username
keycloak.bearer-only=true

这工作得很好。问题是我希望在我的 keycloak 管理控制台中为用作 keycloak 资源的 raealm 创建一个客户端。

文档说

resource

    The client-id of the application. Each application has a client-id that is used to identify the application. This is REQUIRED.

但是在这个例子中,DemoApplication 没有注册到 keycloak 中。据我了解,每个包含 keycloak-adapter 依赖项的应用程序都会在启动时将公钥与 keycloak 交换,以便能够验证传入令牌的签名。但是,如果客户端没有在 keycloak 中注册,为什么这会起作用?

标签: springspring-bootauthenticationspring-securitykeycloak

解决方案


推荐阅读