annotate mod_groups_shell/mod_groups_shell.lua @ 5682:527c747711f3

mod_http_oauth2: Limit revocation to clients own tokens in strict mode RFC 7009 section 2.1 states: > The authorization server first validates the client credentials (in > case of a confidential client) and then verifies whether the token was > issued to the client making the revocation request. If this > validation fails, the request is refused and the client is informed of > the error by the authorization server as described below. The first part was already covered (in strict mode). This adds the later part using the hash of client_id recorded in 0860497152af It still seems weird to me that revoking a leaked token should not be allowed whoever might have discovered it, as that seems the responsible thing to do.
author Kim Alvefur <zash@zash.se>
date Sun, 29 Oct 2023 11:30:49 +0100
parents 8b69e0b56db2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4431
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
1 module:set_global()
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
2
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
3 local modulemanager = require "core.modulemanager";
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
4
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
5 local shell_env = module:shared("/*/admin_shell/env")
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
6
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
7 shell_env.groups = {};
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
8
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
9 function shell_env.groups:sync_group(host, group_id)
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
10 local print = self.session.print;
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
11
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
12 if not host then
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
13 return false, "host not given"
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
14 end
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
15
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
16 local mod_groups = modulemanager.get_module(host, "groups_internal")
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
17 if not mod_groups then
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
18 return false, host .. " does not have mod_groups_internal loaded"
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
19 end
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
20
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
21 if not group_id then
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
22 return false, "group id not given"
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
23 end
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
24
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
25 local ok, err = mod_groups.emit_member_events(group_id)
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
26 if ok then
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
27 return true, "Synchronised members"
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
28 else
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
29 return ok, err
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
30 end
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
31 end