我正在使用 io.quarkus:quarkus-keycloak-authorization quarkus 扩展并希望使用
AuthzClient
。 官方文档告诉我们必须将配置参数quarkus.keycloak.policy-enforcer.enable
设置为true
。
如果使用 application.properties
文件,这就像一个魅力。
但如果我更改为application.yaml
,则设置将不再被识别。
application.properties
:
quarkus.keycloak.policy-enforcer.enable=true
quarkus.keycloak.policy-enforcer.paths.default.path=/public/*
quarkus.keycloak.policy-enforcer.paths.default.enforcement-mode=DISABLED
application.yaml
quarkus:
keycloak:
policy-enforcer:
enable: true
paths:
default:
path: /public/*
enforcement-mode: disabled
如何设置
application.yaml
使其像我的 application.properties
配置文件一样工作?
所以解决方案非常简单。除了 Spring Boot 之外,Quarkus 不支持开箱即用的 YAML 配置文件,因此您需要添加扩展名
quarkus-config-yaml
。
pom.xml:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-config-yaml</artifactId>
</dependency>
build.gradle.kts:
implementation("io.quarkus:quarkus-config-yaml")