使用spring-vault设置X-Vault-Wrap-TTL标头

时间:2017-09-18 19:42:52

标签: http-headers hashicorp-vault spring-vault

我们正在编写一个使用Vault的“response wrapping”功能创建短暂机密的应用程序。 Vault API使用标题set the TTL to a non-default value

有没有办法使用spring-vault设置X-Vault-Wrap-TTL标题?

1 个答案:

答案 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"));