Mercurial > prosody-modules
annotate mod_compact_resource/mod_compact_resource.lua @ 5149:fa56ed2bacab
mod_unified_push: Add support for multiple token backends, including stoage
Now that we have ACLs by default, it is no longer necessary to be completely
stateless. On 0.12, using storage has benefits over JWT, because it does not
expose client JIDs to the push apps/services. In trunk, PASETO is stateless
and does not expose client JIDs.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 14 Jan 2023 14:31:37 +0000 |
parents | 6f34e51a23f0 |
children |
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); |