Spring系列学习之Spring CredHub

英文原文:https://spring.io/projects/spring-credhub

目录

概述

注入并使用CredHubTemplate

认证Authentication

相互TLS

OAuth2

[Spring Boot配置](#Spring Boot配置)

快速开始

学习

文档


概述

Spring CredHub提供客户端支持,用于存储,检索和删除在Cloud Foundry平台中运行的CredHub服务器的凭据。

CredHub提供了一个安全存储,生成,检索和删除各种类型凭据的API。 Spring CredHub为CredHub API提供了一个Java绑定,可以很容易地将Spring应用程序与CredHub集成。

注入并使用CredHubTemplate

CredHubTemplate用于与CredHub交互,通常通过其CredHubOperations接口使用。

以下是在CredHub中设置新凭据的示例:

复制代码
public class MyApp {
  @Autowired
  CredHubOperations credHubOperations;

  public void writeAndDeleteCredential() {
    PasswordCredentialRequest request =
      PasswordCredentialRequest.builder()
        .overwrite(true)
        .name(new SimpleCredentialName("spring-credhub", "demo"))
        .value(new PasswordCredential("secret"))
        .build();

    CredentialDetails<PasswordCredential> storedCredential =
        credHubOperations.write(request);

    CredentialDetails<PasswordCredential> retrievedCredential =
        credHubOperations.getById(storedCredential.getId());

    credHubOperations.deleteByName(storedCredential.getName());
  }
}

以下是在CredHub中生成新凭据的示例:

复制代码
public class MyApp {
  @Autowired
  CredHubOperations credHubOperations;

  public void generateCredential() {
    PasswordParametersRequest request =
      PasswordParametersRequest.builder()
        .overwrite(true)
        .name(new SimpleCredentialName("spring-credhub", "demo"))
        .parameters(PasswordParameters.builder()
            .length(20)
            .excludeLower(false)
            .excludeUpper(false)
            .excludeNumber(false)
            .includeSpecial(true)
            .build())
        .build();

    CredentialDetails<PasswordCredential> credential =
        credHubOperations.generate(request);
  }
}

认证Authentication

CredHub支持两种身份验证方法:相互TLS和OAuth2。

相互TLS

Mutual TLS是未提供其他身份验证配置时使用的默认身份验证方案。

Cloud Foundry上的Mutual TLS支持需要Java Buildpack的Container Security Provider功能。 使用Spring BuildHub的应用程序应使用Java Buildpack 3.17或更高版本或4.1或更高版本部署到Cloud Foundry。

OAuth2

可以使用Spring CredHub(例如,在application.yml中)在Spring Boot应用程序中提供以下配置,以对CredHub服务器启用OAuth2身份验证。

复制代码
spring:
  credhub:
    oauth2:
      client-id: [OAuth2 client ID]
      client-secret: [OAuth2 client secret]
      access-token-uri: [OAuth2 token server endpoint]

Spring Boot配置

在项目中使用Spring CredHub的推荐方法是使用依赖关系管理系统。 下面的一个代码段可以复制并粘贴到您的构建中。

使用Maven:

复制代码
<dependencies>
    <dependency>
        <groupId>org.springframework.credhub</groupId>
        <artifactId>spring-credhub-starter</artifactId>
        <version>1.0.1.RELEASE</version>
    </dependency>
</dependencies>

使用Gradle:

复制代码
dependencies {
  compile('org.springframework.credhub:spring-credhub-starter:1.0.1.RELEASE')
}

如果您为Spring Boot应用程序提供spring.credhub.url属性,Spring CredHub将自动配置CredHubTemplate。

快速开始

使用Spring Initializr引导您的应用程序。

学习

文档

每个Spring项目都有自己的; 它详细解释了如何使用项目功能以及使用它们可以实现的功能。

1.0.1 CURRENT GA

Reference Doc.

API Doc.

2.0.0 RC1 PRE

Reference Doc.

API Doc.

2.0.0 SNAPSHOT

Reference Doc.

API Doc.

相关推荐
古法老登瞎折腾1 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
智能运维指南2 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
znnnk2 小时前
数据库被AI“重写”:2026,从CPU中心走向GPU中心
数据库·人工智能·oracle
微微%2 小时前
mysql的安装和使用
数据库·mysql·mysql8安装
yz_aiks3 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
金銀銅鐵3 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
学长毕设3 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
jason成都3 小时前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
鱼宵3 小时前
Stream 终端操作一次讲透:collect、count、reduce 怎么选
java·stream·终端操作
白山编程大哥3 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list