Annotate

mod_groups_oidc/mod_groups_oidc.lua @ 6253:4d040f506c6c

mod_vcard_muc: deprecated diff --git a/mod_vcard_muc/README.md b/mod_vcard_muc/README.md --- a/mod_vcard_muc/README.md +++ b/mod_vcard_muc/README.md @@ -1,6 +1,7 @@ --- summary: Support for MUC vCards and avatars labels: +- 'Stage-Deprecated' - 'Stage-Stable' ... @@ -21,8 +22,8 @@ modules_enabled = { # Compatibility - ------------------------- ---------- - trunk^[as of 2024-10-22] Works + ------------------------- ---------------------------------------- + 0.13 Room avatar feature included in Prosody 0.12 Works - ------------------------- ---------- + ------------------------- ----------------------------------------
author Menel <menel@snikket.de>
date Mon, 12 May 2025 12:13:25 +0200
parent 5504:7d9dce4e7dd0
child 6337:486115e3b64d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5504
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local array = require "util.array";
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 module:add_item("openid-claim", "groups");
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 local group_memberships = module:open_store("groups", "map");
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 local function user_groups(username)
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 return pairs(group_memberships:get_all(username) or {});
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 end
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 module:hook("token/userinfo", function(event)
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 local userinfo = event.userinfo;
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 if event.claims:contains("groups") then
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 userinfo.groups = array(user_groups(event.username));
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 end
7d9dce4e7dd0 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 end);