You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Spring Boot中生成Wrapped Token访问Hashicorp Vault

在Spring Boot中创建Hashicorp Vault Wrapped Token

要创建Wrapped Token,你可以直接用Spring Vault提供的createWrapped方法,它能把生成的Token直接包装,返回用于提取原始Token的包装令牌。

修改后的代码示例

private WrappedResponse<VaultTokenResponse> getWrappedDefaultToken() {
    // 定义原始Token的策略、有效期、使用次数等参数
    List<String> policies = Arrays.asList("default");
    VaultTokenRequest tokenRequest = VaultTokenRequest.builder()
            .ttl(10, TimeUnit.MINUTES)
            .numUses(10)
            .policies(policies)
            .renewable(true)
            .build();

    // 配置包装令牌的有效期(超过时间就无法解包)
    WrapRequest wrapRequest = WrapRequest.builder()
            .ttl(5, TimeUnit.MINUTES)
            .build();

    // 创建并包装Token
    return VaultConfig.vaultTemplate.opsForToken().createWrapped(tokenRequest, wrapRequest);
}

用包装令牌获取原始Token

拿到包装令牌后,通过unwrap方法就能提取出可直接使用的原始Token:

// 从返回结果中拿到包装令牌
String wrapToken = getWrappedDefaultToken().getWrapToken();

// 解包获取原始Token响应
VaultTokenResponse originalTokenResponse = VaultConfig.vaultTemplate.unwrap(wrapToken, VaultTokenResponse.class);

// 提取可用于Vault读写操作的Token字符串
String usableToken = originalTokenResponse.getToken().getToken();

注意点

  • 包装令牌有自己的有效期,过期后无法再解包出原始Token
  • 包装令牌是一次性的,解包后就会失效,符合Vault的安全机制

内容的提问来源于stack exchange,提问作者sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:04:57