Mercurial > prosody-modules
diff mod_client_management/mod_client_management.lua @ 5595:eae5599bc0b4
mod_client_management: Add way to revoke (one) client by software
This is a bit hacky but it works.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 14 Jul 2023 15:01:56 +0200 |
parents | e9af6abf2b1e |
children | d2561c1d26f5 |
line wrap: on
line diff
--- a/mod_client_management/mod_client_management.lua Fri Jul 14 13:25:30 2023 +0200 +++ b/mod_client_management/mod_client_management.lua Fri Jul 14 15:01:56 2023 +0200 @@ -311,6 +311,13 @@ local ok = tokenauth.revoke_grant(username, c_id); if not ok then return nil, "internal-server-error"; end return true; + elseif c_type == "software" then + local active_clients = get_active_clients(username); + for _, client in ipairs(active_clients) do + if client.user_agent and client.user_agent.software == c_id then + return revoke_client_access(username, client.id); + end + end end end