Software / code / prosody-modules
Annotate
mod_compact_resource/mod_compact_resource.lua @ 5337:8d8e85d6dc91
mod_http_oauth2: Support OpenID UserInfo claims
Actually filling in those details is left to another module because I
don't really wanna mix in a dependency on PEP or mod_vcard here, those
implementation details can be in a second module. Some might want to
fill this from LDAP or something as well.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 10 Apr 2023 10:49:02 +0200 |
| parent | 1761:6f34e51a23f0 |
| 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); |