OpenBao · Authentication Profile
Openbao Authentication
Authentication
OpenBao declares 4 security scheme(s) across its OpenAPI definitions.
Secrets ManagementSecurityIdentity and Access ManagementEncryptionCertificatesPKIKey ManagementOpen-SourceSelf-HostedLinux FoundationDevOpsInfrastructure
Methods:
Schemes: 4
OAuth flows:
API key in:
Security Schemes
X-Vault-Token apiKey
· in: header ()
http
scheme: bearer
mutualTLS
openIdConnect
Source
Authentication Profile
generated: '2026-08-27'
method: searched
source: https://openbao.org/docs/api/ ; https://openbao.org/docs/auth/ ; https://openbao.org/docs/concepts/tokens/
docs: https://openbao.org/docs/api/
name: OpenBao authentication
summary: >-
OpenBao is token-authenticated. Once an instance is unsealed, almost every operation requires a
client token. The token is sent either in the X-Vault-Token request header or as an Authorization
header using the Bearer <token> scheme. There is no OAuth 2.0 authorization-code flow for the
OpenBao API itself and therefore no scope surface - authorization is expressed as ACL policies
attached to the token, not as OAuth scopes. Tokens are obtained from an auth method: each auth
method exposes one or more UNAUTHENTICATED login endpoints, which are the only routes reachable
with no credential at all (alongside sys/health, sys/seal-status and the unseal/generate-root
attempt endpoints).
schemes:
- id: vault-token-header
type: apiKey
in: header
name: X-Vault-Token
description: The canonical way to present a client token. Used by the OpenBao CLI, UI and Go client.
primary: true
- id: bearer-token
type: http
scheme: bearer
description: Equivalent alternative - Authorization Bearer <token>. Accepted anywhere X-Vault-Token is.
- id: mutual-tls
type: mutualTLS
description: >-
The cert auth method authenticates a caller by TLS client certificate at POST /v1/auth/cert/login,
exchanging the certificate for a client token. mTLS is an auth METHOD here, not a transport-level
alternative to the token - the resulting token still authorizes subsequent calls.
- id: openid-connect
type: openIdConnect
description: >-
The jwt auth method accepts both raw JWTs and a full OIDC login flow. Separately, OpenBao can ACT
AS an OIDC provider for third parties via the identity/oidc endpoints, serving its own
.well-known/openid-configuration and JWKS from the running instance.
auth_methods:
- id: token
path: auth/token
note: Built-in. Tokens created directly, with TTLs, renewal, orphaning and use-limits.
- id: approle
path: auth/approle
note: RoleID + SecretID, intended for machines and CI.
- id: cert
path: auth/cert
note: TLS client certificates.
- id: jwt
path: auth/jwt
note: JWT and OIDC. Supports CEL-based roles.
- id: kerberos
path: auth/kerberos
- id: kubernetes
path: auth/kubernetes
note: Service-account token review against the cluster API.
- id: ldap
path: auth/ldap
- id: radius
path: auth/radius
- id: userpass
path: auth/userpass
authorization_model:
style: acl-policies
description: >-
Capabilities (create, read, update, patch, delete, list, sudo, deny) are granted per path glob by
an ACL policy written in HCL or JSON and managed at sys/policies/acl/:name. Policies attach to
tokens and to identity entities/groups. There are no OAuth scopes; sys/capabilities-self reports
what the calling token may do on a path.
sudo_paths: Some root-protected paths additionally require the sudo capability; the generated OpenAPI marks them with x-vault-sudo.
namespaces: Requests are scoped to a namespace by the X-Vault-Namespace header or an equivalent full path.
mfa:
supported: true
note: Login MFA (TOTP, Duo, Okta, PingID) is configured under identity/mfa and enforced by login-enforcement objects.
response_wrapping:
supported: true
header: X-Vault-Wrap-TTL
note: >-
Any response can be wrapped into a single-use token by sending X-Vault-Wrap-TTL. The caller
receives wrap_info instead of the payload and must unwrap at sys/wrapping/unwrap. This is
OpenBao's secure-introduction primitive and is unusual enough to be worth naming explicitly.
unauthenticated_endpoints:
- /v1/sys/health
- /v1/sys/seal-status
- /v1/auth/:method/login/... (per auth method)
- /v1/sys/unseal
- /v1/sys/generate-root/attempt
- /v1/sys/generate-root/update
notes:
- The X-Vault-* header prefix is retained deliberately for API compatibility with HashiCorp Vault, which OpenBao was forked from.
- The X-Vault-Request header must be present on requests routed through an OpenBao Proxy configured with require_request_header; the CLI and Go SDK always set it.
Work with this as data
Every security artifact here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for security posture
4 MCP tools reach this
find_securityBrowse and filter every security artifact in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This security artifact
curl "https://apis.io/api/v1/security/openbao-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.