Software / code / prosody-modules
Annotate
mod_groups_oidc/mod_groups_oidc.lua @ 6252:460e61051038
mod_twitter: twitter is broken
diff --git a/mod_twitter/README.md b/mod_twitter/README.md
--- a/mod_twitter/README.md
+++ b/mod_twitter/README.md
@@ -1,6 +1,6 @@
---
labels:
-- 'Stage-Alpha'
+- 'Stage-Broken'
summary: 'Simple example of working component and HTTP polling.'
...
| author | Menel <menel@snikket.de> |
|---|---|
| date | Mon, 12 May 2025 11:43:09 +0200 |
| parent | 5504:7d9dce4e7dd0 |
| child | 6337:486115e3b64d |
| 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); |