CAC Overview | Kamiwaza Docs

Prerequisites

Required Gateway/Auth Configuration

Set the equivalent deployment values, ConfigMap entries, or environment variables required by your release workflow:

Revocation (recommended)

Edge Header Protection (optional)

TLS Hardening

Ingress/Header Expectations

The ingress (e.g., Traefik) must:

IdP (Keycloak or equivalent) Setup

Test Flow

  1. Apply the configuration above through your normal deployment workflow.
  2. If no CRL/OCSP data in non-prod, either load a CRL cache or set AUTH_GATEWAY_CAC_FAIL_OPEN=true temporarily.
  3. From a client with a CAC (or test client cert), call:
    • POST https://<gateway>/api/auth/cac/login via the ingress (not localhost).
  4. Expected: 200 with JWT/session cookies. Failures return 4xx with reasons (issuer not allowed, revocation, missing/invalid headers).
  5. Validate token/cookies by calling a simple endpoint with the bearer token (e.g., /api/ping).

Troubleshooting

Minimal Non-Prod Setup