Onboard OpenBao as an Authentik OIDC client #33
Reference in New Issue
Block a user
Delete Branch "benvin/vault-oidc-provider"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
OpenBao has no SSO: human operators log in with long-lived tokens or shared credentials.
How
vault: confidential client, openid/email/profile scopes, redirect URIs for thebao login -method=oidclocal listener and both Vault UI hosts.client_secret_vault.generateto the authentik module: when set, generate a 64-charrandom_passwordand write{client_id, client_secret}to the kv-v2 path; providers without the flag keep the existing read path.akP-vault-admin, bound to the vault application, and nest it underakR-global-admin.Companion terraform-vault PRs consume
kv/service/authentik/oidc-vault.Adds config/providers_oauth2/vault.yaml so human logins to OpenBao go through Authentik SSO (bao CLI and the web UI). Machine auth (approle, kubernetes, CI) and break-glass are unchanged and stay on the OpenBao side. Extends the oauth2 provider module so a config may generate its own client secret instead of reading a pre-seeded one: client_secret_vault.generate creates a random_password and writes {client_id, client_secret} to the given kv-v2 path. Providers without the flag keep the existing read-only data source behaviour. This is what lets the provider land with no manual Vault seed. Gates the new application with akP-vault-admin and nests it in akR-global-admin, matching how every other app in this repo is bound.