Software /
code /
prosody
File
plugins/mod_debug_reset.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 | 12977:74b9e05af71e |
child | 13028:b2e6a175537d |
line wrap: on
line source
-- This module will "reset" the server when the client connection count drops -- to zero. This is somewhere between a reload and a full process restart. -- It is useful to ensure isolation between test runs, for example. It may -- also be of use for some kinds of manual testing. module:set_global(); local hostmanager = require "prosody.core.hostmanager"; local timer = require "prosody.util.timer"; local function do_reset() module:log("info", "Performing reset..."); local hosts = {}; for host in pairs(prosody.hosts) do table.insert(hosts, host); end module:fire_event("server-resetting"); for _, host in ipairs(hosts) do hostmanager.deactivate(host); timer.add_task(0, function () hostmanager.activate(host); module:log("info", "Reset complete"); module:fire_event("server-reset"); end); end end function module.add_host(host_module) host_module:hook("resource-unbind", function () if next(prosody.full_sessions) == nil then timer.add_task(0, do_reset); end end); end local console_env = module:shared("/*/admin_shell/env"); console_env.debug_reset = { reset = do_reset; };