view mod_csi_compat/mod_csi_compat.lua @ 6289:9b03238d4e0e

mod_http_oauth2: Only issue id_token when granted openid scope OpenID Connect Core 1.0 states that OIDC is only being done if the "openid" scope is included. https://openid.net/specs/openid-connect-core-1_0.html#rfc.section.3.1.2.1 Less details given out by default is good for privacy and byte count.
author Kim Alvefur <zash@zash.se>
date Tue, 15 Jul 2025 01:46:38 +0200
parents db8b256f51ff
children
line wrap: on
line source

local st = require "util.stanza";

module:depends("csi");

module:add_feature("google:queue");

module:hook("iq-set/self/google:queue:query", function(event)
	local origin, stanza = event.origin, event.stanza;
	(origin.log or module._log)("debug", "Google queue invoked (CSI compat mode)")
	local payload = stanza:get_child("query", "google:queue");
	if payload:get_child("enable") then
		module:fire_event("csi-client-inactive", event);
	elseif payload:get_child("disable") then
		module:fire_event("csi-client-active", event);
	end
	-- <flush/> is implemented as a noop, any IQ stanza would flush the queue anyways.
	origin.send(st.reply(stanza));
	return true;
end, 10);