File

mod_saslname/mod_saslname.lua @ 5390:f2363e6d9a64

mod_http_oauth2: Advertise the currently supported id_token signing algorithm This field is REQUIRED. The algorithm RS256 MUST be included, but isn't because we don't implement it, as that would require implementing a pile of additional cryptography and JWT stuff. Instead the id_token is signed using the client secret, which allows verification by the client, since it's a shared secret per OpenID Connect Core 1.0 § 10.1 under Symmetric Signatures. OpenID Connect Discovery 1.0 has a lot of REQUIRED and MUST clauses that are not supported here, but that's okay because this is served from the RFC 8414 OAuth 2.0 Authorization Server Metadata .well-known endpoint!
author Kim Alvefur <zash@zash.se>
date Sun, 30 Apr 2023 16:13:40 +0200
parent 1271:e927d95512e8
line wrap: on
line source

local hostname = module:get_option_string("sasl_hostname", module.host);

module:hook("stream-features", function(event)
	local features = event.features;
	local mechs = features:get_child("mechanisms", "urn:ietf:params:xml:ns:xmpp-sasl");
	if mechs then
		mechs:tag("hostname", { xmlns = "urn:xmpp:domain-based-name:1" })
			:text(hostname):up();
	end
end);