Mercurial > prosody-modules
annotate mod_compact_resource/mod_compact_resource.lua @ 5617:d8622797e315
mod_http_oauth2: Shorten default token validity periods
With refresh tokens, short lifetime for access tokens is not a problem.
The arbitrary choice of one hour seems reasonable. RFC 6749 has it as
example value.
One week for refresh tokens matching the default archive retention
period. This means that a client that remains unused for one week will
have to sign in again. An actively used client will continually push
that forward with each used refresh token.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 24 Jul 2023 01:30:14 +0200 |
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); |