Compare commits

...
Author SHA1 Message Date
Cedric VerstraetenandClaude Opus 5.5 c1deb51dc7 feat(hub): session inactivity prompt timeout (0.187.0)
Add kerberoshub.api.session.inactivityTimeout (default 15m), passed to
hub-api as SESSION_INACTIVITY_TIMEOUT. The frontend asks idle users
whether they are still there after this long and signs them out after
60 seconds without an answer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 12:04:00 +00:00
Cédric Verstraeten 549dbf707b Merge pull request #240 from kerberos-io/feat/hub-api-session-lifetime
feat(hub): configurable hub-api session lifetime, hub-api v1.11.42 (0.186.0)
2026-11-12 10:11:12 +01:00
4 changed files with 5 additions and 1 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.186.0
version: 0.187.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
+1
View File
@@ -870,6 +870,7 @@ kerberospipeline:
| `kerberoshub.api.session.accessTokenTimeout` | Lifetime of one access token (Go duration). The frontend renews it silently while the session is valid. | `"15m"` |
| `kerberoshub.api.session.idleTimeout` | A session that is not used for this long ends (lifetime of the refresh token). | `"12h"` |
| `kerberoshub.api.session.maxLifetime` | Hard session limit counted from login; refreshing never extends a session past it. | `"24h"` |
| `kerberoshub.api.session.inactivityTimeout` | Without user interaction for this long, the frontend asks "Are you still there?" and signs the user out after 60 seconds. `"0"` turns the prompt off. Needs hub-api with session claims and a matching frontend. | `"15m"` |
| `kerberoshub.api.schema` | The protocol to serve the Kerberos Hub API, `'http'` or `'https'`. | `"https"` |
| `kerberoshub.api.url` | The Kerberos Hub API ingress to access the API. | `"api.yourdomain.com"` |
| `kerberoshub.api.corsAllowedOrigins` | Additional complete HTTP(S) origins allowed to call the Hub API. Configured frontend origins remain allowed automatically. | `[]` |
@@ -309,6 +309,8 @@ spec:
value: {{ .Values.kerberoshub.api.session.idleTimeout | quote }}
- name: SESSION_MAX_LIFETIME
value: {{ .Values.kerberoshub.api.session.maxLifetime | quote }}
- name: SESSION_INACTIVITY_TIMEOUT
value: {{ .Values.kerberoshub.api.session.inactivityTimeout | quote }}
- name: REFRESH_COOKIE_SECURE
value: {{ eq .Values.kerberoshub.api.schema "https" | quote }}
{{- $corsOrigins := list (printf "%s://%s" .Values.kerberoshub.frontend.schema .Values.kerberoshub.frontend.url) }}
+1
View File
@@ -415,6 +415,7 @@ kerberoshub:
accessTokenTimeout: "15m" # Lifetime of one access token; the frontend renews it silently.
idleTimeout: "12h" # A session that is not used for this long ends.
maxLifetime: "24h" # Hard limit counted from login; the user must sign in again after it.
inactivityTimeout: "15m" # Without user interaction for this long, the frontend asks "Are you still there?" and signs out after 60s. "0" turns it off.
schema: "https"
url: "api.yourdomain.com"
# Additional complete HTTP(S) origins allowed to call the Hub API.