spring - 为什么 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 中注册,为什么这会起作用?
解决方案
推荐阅读
- sql - 将生成的列添加到现有表 Postgres
- jquery - 如何处理支持触摸和指针事件的设备上的触摸事件,其菜单包含不是父菜单子项的子项
- android - Sdkmanager“错误:无法在 Windows 上找到或加载主类 com.android.sdklib.tool.sdkmanager.SdkManagerCli”
- google-chrome-extension - Chrome 扩展拒绝“使用权限”所有 URL
- c# - 返回 AsAsyncEnumerable() 时的 ObjectDisposedException
- sql - 如何选择唯一的列值并显示另一列的值之和?
- javascript - 在我的 AWS 查询函数中使用 Promise 的最简洁方法是什么?
- swift - 在 Swift UI 列表中动态创建部分(使用 CoreData)
- python - 带有 sys.stdin.read() 的 UTF-8 无效
- django - docker-compose django app 找不到 postgresql db