Vault Provider (OpenBao / HashiCorp Vault)

Keycloak Vault SPI provider for OpenBao and HashiCorp Vault

misc Apache-2.0 unclaimed repository ↗
★ 10
by Nordix

Keycloak Vault Provider for OpenBao and HashiCorp Vault

Overview

This project provides two extensions for Keycloak that integrate with OpenBao and HashiCorp Vault:

  • Vault secrets provider
  • Secrets Manager REST API extension

By implementing a Vault SPI provider, this extension allows Keycloak to retrieve secrets from OpenBao or HashiCorp Vault. It uses the KV secrets engine as the secure storage for sensitive configuration data. This avoids storing sensitive data in the SQL database in cleartext.

The project also implements a custom REST API extension called Secrets Manager for Keycloak's Admin REST API. This enables realm administrators to manage Vault SPI secret values through Keycloak, without needing direct access to OpenBao or HashiCorp Vault.

Documentation

For more information, see:

Known Issues

Extension is using Keycloak internal SPIs

When this extension is loaded, Keycloak displays the following warnings:

WARN  [org.keycloak.services] (build-47) KC-SERVICES0047: secrets-manager (io.github.nordix.keycloak.services.secretsmanager.SecretsManagerProviderFactory) is implementing the internal SPI admin-realm-restapi-extension. This SPI is internal and may change without notice
WARN  [org.keycloak.services] (build-47) KC-SERVICES0047: secrets-provider (io.github.nordix.keycloak.services.vault.SecretsProviderFactory) is implementing the internal SPI vault. This SPI is internal and may change without notice

The vault and admin-realm-restapi-extension SPIs are internal to Keycloak and may change at any time. No stable public alternatives exist, so future Keycloak updates could break compatibility. Some internal Keycloak APIs (e.g. for caching) are also used.

Contributing

Please refer to CONTRIBUTING.md.

Indexed automatically from public sources. Report incorrect data or request removal.