← All Modules

assay.dex

Dex OIDC identity provider. Discovery, JWKS, health, and configuration validation. Client: dex.client(url). Module-level functions also available for backward compatibility.

Discovery (c.discovery)

Health (c.health)

Scopes (c.scopes)

Grants (c.grants)

Top-level

Backward Compatibility

All legacy module-level functions (M.discovery(url), M.health(url), M.supported_scopes(url), etc.) remain available and delegate to the client sub-objects.

Example:

local dex = require("assay.dex")

-- New client sub-object style
local c = dex.client("http://dex:5556")
assert.eq(c.health:check(), true, "Dex not healthy")
local validation = c:validate_config()
assert.eq(validation.ok, true, "OIDC config invalid: " .. table.concat(validation.errors, ", "))
local scopes = c.scopes:list()
assert.eq(c.scopes:supports("openid"), true)

-- Legacy module-level style still works
assert.eq(dex.health("http://dex:5556"), true, "Dex not healthy")
local validation = dex.validate_config("http://dex:5556")