Mercurial > prosody-modules
annotate mod_csi_simple_compat/mod_csi_simple_compat.lua @ 5616:59d5fc50f602
mod_http_oauth2: Implement refresh token rotation
Makes refresh tokens one-time-use, handing out a new refresh token with
each access token. Thus if a refresh token is stolen and used by an
attacker, the next time the legitimate client tries to use the previous
refresh token, it will not work and the attack will be noticed. If the
attacker does not use the refresh token, it becomes invalid after the
legitimate client uses it.
This behavior is recommended by draft-ietf-oauth-security-topics
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 23 Jul 2023 02:56:08 +0200 |
| parents | fcea7cf91702 |
| children |
| rev | line source |
|---|---|
|
4006
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local st = require "util.stanza"; |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local important_payloads = module:get_option_set("csi_important_payloads", { }); |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 module:hook("csi-is-stanza-important", function (event) |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local stanza = event.stanza; |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 if st.is_stanza(stanza) then |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 for important in important_payloads do |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 if stanza:find(important) then |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 return true; |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 end |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 end |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 end |
|
fcea7cf91702
mod_csi_simple_compat: Module for Prosody 0.11 that adds a setting available from Prosody 0.12
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 end); |
