Mercurial > prosody-modules
view mod_groups_oidc/mod_groups_oidc.lua @ 5589:7040d0772758
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Meant for devices without easy access to a web browser, such as
refrigerators and toasters, which definitely need to be running
OAuth-enabled XMPP clients!
Could be used for CLI tools that might have trouble running a http
server needed for the authorization code flow.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 10 Jul 2023 07:16:54 +0200 |
parents | 7d9dce4e7dd0 |
children |
line wrap: on
line source
local array = require "util.array"; module:add_item("openid-claim", "groups"); local group_memberships = module:open_store("groups", "map"); local function user_groups(username) return pairs(group_memberships:get_all(username) or {}); end module:hook("token/userinfo", function(event) local userinfo = event.userinfo; if event.claims:contains("groups") then userinfo.groups = array(user_groups(event.username)); end end);