设置 X-Vault-Wrap-TTL header 为 spring-vault
Setting X-Vault-Wrap-TTL header with spring-vault
我们正在编写一个使用“response wrapping" feature of Vault. Vault API uses a header to set the TTL to a non-default value.
创建短期秘密的应用程序
有没有办法使用 spring-vault 设置 X-Vault-Wrap-TTL
header?
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"));
我们正在编写一个使用“response wrapping" feature of Vault. Vault API uses a header to set the TTL to a non-default value.
创建短期秘密的应用程序有没有办法使用 spring-vault 设置 X-Vault-Wrap-TTL
header?
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"));