← All Modules

assay.zitadel

Zitadel OIDC identity management. Projects, OIDC apps, IdPs, users, login policies. Client: zitadel.client({url="...", domain="...", machine_key=...}) or {..., machine_key_file="..."} or {..., token="..."}. Authenticates via JWT machine key exchange.

Domains

Projects

OIDC Applications

Identity Providers

Users

Login Policy

Example:

local zitadel = require("assay.zitadel")
local c = zitadel.client({
  url = "https://zitadel.example.com",
  domain = "example.com",
  machine_key_file = "/secrets/zitadel-key.json",
})
local proj = c.projects:ensure("my-platform")
local app = c.apps:ensure_oidc(proj.id, {
  name = "grafana", subdomain = "grafana", callbackPath = "/login/generic_oauth",
})