Mercurial > prosody-modules
view mod_firewall/marks.lib.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 | 165d2877eeac |
children | 96dec7681af8 |
line wrap: on
line source
local mark_storage = module:open_store("firewall_marks"); local user_sessions = prosody.hosts[module.host].sessions; module:hook("resource-bind", function (event) local session = event.session; local username = session.username; local user = user_sessions[username]; local marks = user.firewall_marks; if not marks then marks = mark_storage:get(username) or {}; user.firewall_marks = marks; -- luacheck: ignore 122 end session.firewall_marks = marks; end); module:hook("resource-unbind", function (event) local session = event.session; local username = session.username; local marks = session.firewall_marks; mark_storage:set(username, marks); end);