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.

相关推荐
全栈老石20 分钟前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
SimonKing2 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean3 小时前
Jackson View Extension Spring Boot Starter
java·后端
Seven974 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55113 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河13 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程16 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅18 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者19 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq