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.

相关推荐
ZZH1120KQ20 分钟前
ORACLE的用户维护与权限操作
数据库·oracle
超级小忍25 分钟前
Spring Boot 配置文件常用配置属性详解(application.properties / application.yml)
java·spring boot·后端
麦兜*25 分钟前
基于Spring Boot的审计日志自动化解决方案,结合SpEL表达式和AOP技术,实现操作轨迹自动记录,并满足GDPR合规要求
java·jvm·spring boot·后端·spring·spring cloud·maven
妮妮喔妮28 分钟前
图片上传 el+node后端+数据库
javascript·数据库·vue.js
青云交1 小时前
Java 大视界 -- Java 大数据机器学习模型在金融信用评级模型优化与信用风险动态管理中的应用(371)
java·大数据·机器学习·信用评级·动态风控·跨境金融·小贷风控
二哈喇子!4 小时前
若依【(前后端分离版)SpringBoot+Vue3】
java·spring boot·后端
仰望星空的凡人6 小时前
【JS逆向基础】数据库之MongoDB
javascript·数据库·python·mongodb
Monkey-旭7 小时前
Android Handler 完全指南
android·java·handler
秃狼7 小时前
Execel文档批量替换标签实现方案
java
Brookty8 小时前
Java线程安全与中断机制详解
java·开发语言·后端·学习·java-ee