changeset 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
files mod_client_management/mod_client_management.lua
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
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