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 小时前
CentOS7二进制安装包方式部署K8S集群之ETCD集群部署
运维·数据库·云原生·容器·kubernetes·centos·etcd
野生技术架构师2 小时前
聊聊五种 Redis 部署模式
数据库·redis·缓存
IndulgeCui2 小时前
【金仓数据库产品体验官】KES-ORACLE兼容模式再体验之FLASHBACK
数据库
fly-phantomWing3 小时前
Maven的安装与配置的详细步骤
java·后端·maven·intellij-idea
zxsz_com_cn4 小时前
钢铁厂设备健康监测系统:AIoT技术驱动的智慧运维革命
数据库
chirrupy_hamal5 小时前
PostgreSQL 流复制参数 - synchronous_standby_names
数据库·postgresql
2401_841495646 小时前
【数据结构】红黑树的基本操作
java·数据结构·c++·python·算法·红黑树·二叉搜索树
学编程的小鬼6 小时前
SpringBoot 自动装配原理剖析
java·spring boot·后端
TiAmo zhang6 小时前
什么是SQL Server 2019?
数据库·sqlserver
问道飞鱼6 小时前
【数据库知识】TxSQL 主从数据库同步底层原理深度解析
网络·数据库·半同步复制·txsql