File

util/envload.lua @ 12997:0a56b84ec4ad

mod_tokenauth: Support for creating sub-tokens Properties of sub-tokens: - They share the same id as their parent token - Sub-tokens may not have their own sub-tokens (but may have sibling tokens) - They always have the same or shorter lifetime compared to their parent token - Revoking a parent token revokes all sub-tokens - Sub-tokens always have the same JID as the parent token - They do not have their own 'accessed' property - accessing a sub-token updates the parent token's accessed time Although this is a generic API, it is designed to at least fill the needs of OAuth2 refresh + access tokens (where the parent token is the refresh token and the sub-tokens are access tokens).
author Matthew Wild <mwild1@gmail.com>
date Sun, 26 Mar 2023 16:46:48 +0100
parent 12576:d1aacc6a81ac
line wrap: on
line source

-- Prosody IM
-- Copyright (C) 2008-2011 Florian Zeitz
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--
-- luacheck: ignore 113/setfenv 113/loadstring

local load = load;
local io_open = io.open;

local function envload(code, source, env)
	return load(code, source, nil, env);
end

local function envloadfile(file, env)
	local fh, err, errno = io_open(file);
	if not fh then return fh, err, errno; end
	local f, err = load(fh:lines(2048), "@" .. file, nil, env);
	fh:close();
	return f, err;
end

return { envload = envload, envloadfile = envloadfile };