annotate mod_compact_resource/mod_compact_resource.lua @ 5289:308024be6d6f

mod_authz_delegate: introduce module to "link" authorization of hosts See the readme :-). Motivation is allowing Snikket admins to change circle avatars via the web portal without bypassing Prosody access checks.
author Jonas Schäfer <jonas@wielicki.name>
date Wed, 29 Mar 2023 17:21:45 +0200
parents 6f34e51a23f0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1761
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local base64_encode = require"util.encodings".base64.encode;
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local random_bytes = require"util.random".bytes;
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 local b64url = { ["+"] = "-", ["/"] = "_", ["="] = "" };
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 local function random_resource()
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 return base64_encode(random_bytes(8)):gsub("[+/=]", b64url);
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 end
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 module:hook("pre-resource-bind", function (event)
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 event.resource = random_resource();
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 end);