local json = require("cjson.safe") local conf = {} local function load_conf(prefix) local name_suffix = "/global.json" local file = assert(io.open(prefix .. name_suffix, "r"), "File " .. prefix .. name_suffix .. " not found") conf = json.decode(file:read("*all")) file:close() assert(conf["auth"], "Simple-SSO configuration is missing an `auth` entry") assert(conf["sso_host"], "Simple-SSO configuration is missing a `sso_host` entry") assert(conf["sso_prefix"], "Simple-SSO configuration is missing a `sso_prefix` entry") assert(conf["session_seconds"], "Simple-SSO configuration is missing a `session_seconds` entry") end local function get_auth_commands() return conf["auth"] end local function get_sso_host() return conf["sso_host"] end local function get_sso_prefix() return conf["sso_prefix"] end local function get_session_seconds() return conf["session_seconds"] end return { get_auth_commands = get_auth_commands, get_session_seconds = get_session_seconds, get_sso_host = get_sso_host, get_sso_prefix = get_sso_prefix, load_conf = load_conf, }