SessionHandling

microgateway.airlock.com/v1alpha1


SessionHandling contains the configuration for session handling.

apiVersion: microgateway.airlock.com/v1alpha1
kind: SessionHandling
metadata:
  name: session-handling-example
spec:
  persistence:
    # Specify the Redis database where sessions should be stored
    redisProviderRef:
      name: redis-provider-example
  defaultTimeouts:
    # Specify maximum lifetime of a session
    lifetime: 16h
  prefix: session_prefix_example
apiVersion: microgateway.airlock.com/v1alpha1
kind: SessionHandling
metadata:
  name: default

SessionHandling

Field Type Description Required Default Allowed Values
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata yes
spec object Specification of the desired session handling behavior. yes

SessionHandling.spec

Field Type Description Required Default Allowed Values
defaultTimeouts object DefaultTimeouts specifies the session timeouts to apply when not provided by the authentication method. no
persistence object Persistence configures where to store the session state. yes
prefix string Prefix specifies the prefix under which the sessions should be stored in the persistence layer.
If not specified, an automatic prefix derived from the namespaced SessionHandling CR name is used, which ensures that sessions will always be isolated on Microgateways configured with different SessionHandling CRs, even if they share the same persistence backend.

To allow session sharing between different Microgateway deployments, ensure that the prefix and persistence backend is the same across all corresponding SessionHandling CRs.

Note: Session cookies are currently never shared across different fully qualified domain names (FQDNs) and authentication via different OIDC Relying Parties generates different session cookies. Clients will therefore only able to transparently reuse session cookies for connecting to different Microgateway deployments if those are a) exposed under the same FQDN and b) handle authentication via the same OIDC Relying Party.
no

SessionHandling.spec.defaultTimeouts

Field Type Description Required Default Allowed Values
lifetime string Lifetime specifies the maximum duration a session can exist. no 12h See link

SessionHandling.spec.persistence

Field Type Description Required Default Allowed Values
redisProviderRef object RedisProviderRef specifies to cache session information in the provided Redis instance. yes

SessionHandling.spec.persistence.redisProviderRef

Field Type Description Required Default Allowed Values
name string Name of the resource yes