Diff

mod_audit_register/mod_audit_register.lua @ 4932:530d116b7f68

mod_audit*: modules for audit logging in prosody These are to be seen as proof-of-concept for now.
author Jonas Schäfer <jonas@wielicki.name>
date Tue, 26 Apr 2022 22:32:44 +0200
child 4933:08dea42a302a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_audit_register/mod_audit_register.lua	Tue Apr 26 22:32:44 2022 +0200
@@ -0,0 +1,22 @@
+module:depends("audit");
+
+local st = require "util.stanza";
+
+module:hook("user-registered", function(event)
+	local session = event.session;
+	local custom = {};
+	local invite = event.validated_invite or (event.session and event.session.validated_invite);
+	if invite then
+		table.insert(custom, st.stanza(
+			"invite-used",
+			{
+				xmlns = "xmpp:prosody.im/audit",
+				token = invite.token,
+			}
+		))
+	end
+	module:audit(event.username, "user-registered", {
+		session = session,
+		custom = custom,
+	});
+end);