使用 Spring Vault 2.1.2,我无法升级。我正在配置 AbstractReactiveVaultConfiguration 以使用 KubernetesAuthentication。
@Configuration
public class VaultConfiguration extends AbstractReactiveVaultConfiguration {
@Value("${my.vault.endpoint.url}")
private URI vaultEndpointURL;
@Override
public VaultEndpoint vaultEndpoint() {
return VaultEndpoint.from(vaultEndpointURL);
}
@Override
public ClientAuthentication clientAuthentication() {
KubernetesAuthenticationOptions options = KubernetesAuthenticationOptions.builder()
.role("myRole").path("foo/bar").build();
return new KubernetesAuthentication(options, restOperations());
}
}
这是产生:
org.springframework.vault.authentication.VaultLoginException: Cannot retrieve VaultToken from authentication chain; nested exception is org.springframework.web.reactive.function.client.WebClientResponseException$BadRequest: 400 Bad Request
通过足够的日志记录,我发现它正在尝试发布到:
POST /v1/auth/foo%2Fbar/login
什么是转义“foo/bar”的配置路径以及如何避免这种情况?