我们正在编写一个使用Vault的“response wrapping”功能创建短暂机密的应用程序。 Vault API使用标题set the TTL to a non-default value。
有没有办法使用spring-vault设置X-Vault-Wrap-TTL
标题?
答案 0 :(得分:1)
Spring Vault不提供用于创建包装响应的API,因为它需要镜像具有不同响应类型的所有API。如果需要响应包装,请使用会话回调:
ResponseEntity<VaultResponse> response = vaultOperations.doWithSession(restOperations -> {
HttpHeaders headers = new HttpHeaders();
headers.add("X-Vault-Wrap-TTL", "1h");
return restOperations.exchange("secret/mykey", HttpMethod.GET, new HttpEntity<>(headers), VaultResponse.class);
});
Map<String, String> wrapInfo = response.getBody().getWrapInfo();
// token to unwrap the response
VaultToken token = VaultToken.of(wrapInfo.get("token"));