Software /
code /
prosody-modules
File
misc/sasl/example.lua @ 5248:b8b2bf0c1b4b
mod_http_oauth2: Record details of OAuth client a token is issued to
To enable use cases such as revoking all tokens issued to a particular
OAuth client in case of security issues, or for informative purposes
such as when listing tokens for users.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 14 Mar 2023 18:08:25 +0100 |
parent | 2354:7d2fcc7a15f7 |
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);