Mercurial > prosody-modules
view mod_muc_members_json/README.md @ 5715:8488ebde5739
mod_http_oauth2: Skip consent screen if requested by client and same scopes already granted
This follows the intent behind the OpenID Connect 'prompt' parameter
when it does not include the 'consent' keyword, that is the client
wishes to skip the consent screen. If the user has already granted the
exact same scopes to the exact same client in the past, then one can
assume that they may grant it again.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 14 Nov 2023 23:03:37 +0100 |
parents | 6696075e26e2 |
children |
line wrap: on
line source
--- labels: - 'Stage-Beta' summary: 'Import MUC membership info from a JSON file' ... Introduction ============ This module allows you to import MUC membership information from an external URL in JSON format. Details ======= If you have an organization or community and lots of members and/or channels, it can be frustrating to manage MUC affiliations manually. This module will fetch a JSON file from a configured URL, and use that to automatically set the MUC affiliations. It also supports hats/badges. Configuration ============= Add the module to the MUC host (not the global modules\_enabled): Component "conference.example.com" "muc" modules_enabled = { "muc_members_json" } You can define (globally or per-MUC component) the following options: Name Description --------------------- -------------------------------------------------- muc_members_json_url The URL to the JSON file describing memberships muc_members_json_mucs The MUCs to manage, and their associated configuration The `muc_members_json_mucs` setting determines which rooms will be managed by the plugin, and how to map roles to hats (if desired). ``` lua muc_members_json_mucs = { -- This configures hats for the myroom@<this MUC host> MUC myroom = { -- The optional field 'member_hat' defines a hat that will be -- added to any user that is listed in the members JSON -- (regardless of what roles they have, if any) member_hat = { id = "urn:uuid:6a1b143a-1c5c-11ee-80aa-4ff1ce4867dc"; title = "Cool Member"; }; -- The optional field 'team_hats' defines one or more hats -- that will be assigned to users that have the specified -- roles in the JSON. team_hats = { janitor = { id = "urn:uuid:ec32f550-7d5f-11ee-81ee-6b139cac3bf6"; title = "Janitor"; } } }; } ``` JSON format =========== ``` json { "members": [ { "jids": [ "user@example.com", "user2@example.com" ] }, { "jids": ["user3@example.com"], "roles": ["janitor"] } ] } ``` The JSON format must be an object with a `members` array. Each member must have a `jids` field, and optionally a `roles` field (both are arrays of strings). Compatibility ============= ------- ------------------ trunk Works 0.12 Works ------- ------------------