Configure Basic Auth and OIDC Login in Kestra
For the complete documentation index, see llms.txt. For a full content snapshot, see llms-full.txt. Append.mdto anykestra.io/docs/*URL for plain Markdown.
Available on:Enterprise EditionCloud
Kestra supports three authentication methods: Basic Auth (enabled by default), OpenID Connect (OIDC), and passwordless One-Time-Password (OTP).
Configure JWT signing keys to secure session tokens. These keys must be the same across all Webserver instances.
micronaut: security: token: jwt: generator: refresh-token: secret: refresh-token-256-bits-secret signatures: secret: generator: secret: signature-256-bits-secretYou can change the JWT cookie behavior using Micronaut Cookie Token Reader configuration. For example, define the cookie’s maximum lifetime with micronaut.security.token.cookie.cookie-max-age: P2D.
Basic authentication
The default installation comes with no users defined. To create an administrator account, use the following CLI command:
./kestra auths users create --admin --username=<admin-username> --password=<admin-password> --tenant=<tenant-id>When using --admin, --tenant is required to specify which tenant the admin role applies to. Omit --tenant only when creating a user without group or role assignments.
Single sign-on (SSO)
Single Sign-On (SSO) is an authentication process that allows users to access multiple applications with one set of login credentials (e.g., Sign in with Google). Kestra supports SSO using the OpenID Connect (OIDC) protocol, which is a simple identity layer built on top of the OAuth 2.0 protocol.
Enable OIDC in your Micronaut configuration:
micronaut: security: oauth2: enabled: true clients: google: client-id: "{{ clientId }}" client-secret: "{{ clientSecret }}" openid: issuer: "{{ issuerUrl }}"See the Micronaut OIDC configuration guide for full details. See Single Sign-On to configure SSO with Google, Microsoft, and other providers.
Passwordless (One-Time-Password)
Passwordless login lets users sign in without a password. When a user enters their email address, Kestra sends a one-time code to that address. The user enters the code to authenticate.
OTP requires a mail service to deliver codes. Configure the mail service before enabling OTP — see Enterprise and Advanced configuration for the full property reference.
Enable OTP and optionally tune its defaults:
kestra: security: one-time-password: enabled: true expiration: PT5M # how long a code remains valid (default: 5 minutes) code-length: 6 # number of digits in the code (default: 6) rate-limit: max-requests: 10 # maximum code requests per window (default: 10) window: PT1H # rate limit window (default: 1 hour)OTP is more convenient than Basic Auth but less secure than SSO with MFA. Prefer OIDC/SSO with MFA enabled at the identity provider when security is the priority.
Was this page helpful?