Mercurial > prosody-modules
view misc/sasl/example.lua @ 4362:116c88c28532
mod_http_admin_api: restructure group-related info in API
- Return the members of the group right in the get_group_by_id
call. This is an O(1) of extra work.
- Remove the groups attribute from get_user_by_name as that is
O(n) of work and rarely immediately needed.
The replacement for the group membership information in the user
is for now to use the group API and iterate; future work may fix
that.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Wed, 20 Jan 2021 15:30:29 +0100 |
parents | 7d2fcc7a15f7 |
children |
line wrap: on
line source
local method = {} local method_mt = { __index = method } -- This should return a set of supported mechanisms function method:mechanisms() return { ["OAUTH-SOMETHING"] = true; } end -- Called when a mechanism is selecetd function method:select(mechanism) return mechanism == "OAUTH-SOMETHING"; end -- Called for each message received function method:process(message) -- parse the message if false then -- To send a SASL challenge: return "challenge", "respond-to-this"; end if false then -- To fail, send: return "failure", "not-authorized", "Helpful error message here"; end self.username = "someone"; return "success"; end local function new_sasl() return setmetatable({}, method_mt); end function method:clean_clone() return setmetatable({}, method_mt); end local provider = {} function provider.get_sasl_handler() return new_sasl(); end module:provides("auth", provider);