annotate mod_csi_simple_compat/mod_csi_simple_compat.lua @ 5447:aa4828f040c5

mod_http_oauth2: Enforce client scope restrictions in authorization When registering a client, a scope field can be included as a promise to only ever use those. Here we enforce that promise, if given, ensuring a client can't request or be granted a scope it didn't provide in its registration. While currently there is no restrictions at registration time, this could be changed in the future in various ways.
author Kim Alvefur <zash@zash.se>
date Thu, 11 May 2023 19:33:44 +0200
parents fcea7cf91702
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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);