File

mod_rawdebug/mod_rawdebug.lua @ 5623:59d5fc50f602

mod_http_oauth2: Implement refresh token rotation Makes refresh tokens one-time-use, handing out a new refresh token with each access token. Thus if a refresh token is stolen and used by an attacker, the next time the legitimate client tries to use the previous refresh token, it will not work and the attack will be noticed. If the attacker does not use the refresh token, it becomes invalid after the legitimate client uses it. This behavior is recommended by draft-ietf-oauth-security-topics
author Kim Alvefur <zash@zash.se>
date Sun, 23 Jul 2023 02:56:08 +0200
parent 2256:c5c583fae25d
line wrap: on
line source

module:set_global();

local tostring = tostring;
local filters = require "util.filters";

local function log_send(t, session)
	if t and t ~= "" and t ~= " " then
		session.log("debug", "SEND(%d): %s", #t, tostring(t));
	end
	return t;
end

local function log_recv(t, session)
	if t and t ~= "" and t ~= " " then
		session.log("debug", "RECV(%d): %s", #t, tostring(t));
	end
	return t;
end

local function init_raw_logging(session)
	filters.add_filter(session, "bytes/in",  log_recv, -10000);
	filters.add_filter(session, "bytes/out", log_send,  10000);
end

filters.add_filter_hook(init_raw_logging);

function module.unload() -- luacheck: ignore
	filters.remove_filter_hook(init_raw_logging);
end