kong/kong/plugins/oidc/schema.lua (48 lines of code) (raw):

local typedefs = require "kong.db.schema.typedefs" return { name = "oidc", fields = { { consumer = typedefs.no_consumer }, { config = { type = "record", fields = { { anonymous = { type = "string", uuid = true }, }, { client_id = { type = "string", required = true }, }, { client_secret = { type = "string", required = true }, }, { discovery = { type = "string", required = true, default = "https://.well-known/openid-configuration" }, }, { introspection_endpoint = { type = "string", required = false }, }, { allow_token_auth = {type = "boolean", required = false, default = false}, }, { timeout = { type = "number", required = false }, }, { introspection_endpoint_auth_method = { type = "string", required = false }, }, { bearer_only = { type = "string", required = true, default = "no" }, }, { realm = { type = "string", required = true, default = "kong" }, }, { redirect_uri_path = { type = "string" }, }, --redirect_uri = { type = "string" }, { scope = { type = "string", required = true, default = "openid" }, }, { response_type = { type = "string", required = true, default = "code" }, }, { ssl_verify = { type = "string", required = true, default = "no" }, }, { token_endpoint_auth_method = { type = "string", required = true, default = "client_secret_post" }, }, { recovery_page_path = { type = "string" }, }, { logout_path = { type = "string", required = false, default = '/logout' }, }, { redirect_after_logout_uri = { type = "string", required = false }, }, { filters = { type = "string" }, }, { unauth_action = { type = "string", required = true, default = "deny" }, }, { access_token_header_name = { type = "string", required = true, default = "X-Access-Token" }, }, { bearer_access_token = { type = "string", required = true, default = "no" }, }, { id_token_header_name = { type = "string", required = true, default = "X-ID-Token" }, }, { user_header_name = { type = "string", required = true, default = "X-Userinfo" }, }, { revoke_tokens_on_logout = {type = "boolean", required = false, default = false}, }, { session_opts = { type = "string"}, }, { access_token_expires_leeway = { type = "number", required = false }, }, { post_logout_redirect_uri = { type = "string", required = false}, }, -- Authorisation properties { enable_authorization = {type = "boolean", required = false, default = true}, }, { issuers_allowed = { type = "array", elements = { type = "string" }, required = false }, }, { scopes_required = { type = "array", elements = { type = "string" }, default = nil }, }, { roles_required = { type = "array", elements = { type = "string" }, default = nil }, }, { realm_roles_required = { type = "array", elements = { type = "string" }, default = nil }, }, { client_roles_required = { type = "array", elements = { type = "string" }, default = nil }, }, -- Property used to add access token claim value to request header { token_claim_header_value = { type = "string", required = false } } }, }, }, }, }