Software / code / prosody-modules
Diff
mod_rest/mod_rest.lua @ 6273:8ceedc336d0d
Merge update
| author | Trần H. Trung <xmpp:trần.h.trung@trung.fun> |
|---|---|
| date | Sun, 01 Jun 2025 13:51:38 +0700 |
| parent | 6272:ed6fa901cf94 |
line wrap: on
line diff
--- a/mod_rest/mod_rest.lua Sun Jun 01 11:43:16 2025 +0700 +++ b/mod_rest/mod_rest.lua Sun Jun 01 13:51:38 2025 +0700 @@ -64,7 +64,7 @@ return nil, post_errors.new("noauthz", { request = request }); end - if auth_type == "basic" then + if auth_type == "basic" and module:get_host_type() == "local" then local creds = base64.decode(auth_data); if not creds then return nil, post_errors.new("malformauthz", { request = request }); @@ -81,6 +81,13 @@ return false, post_errors.new("unauthz", { request = request }); end return { username = username; host = module.host }; + elseif auth_type == "basic" and module:get_host_type() == "component" then + local component_secret = module:get_option_string("component_secret"); + local creds = base64.decode(auth_data); + if creds ~= module.host .. ":" .. component_secret then + return nil, post_errors.new("malformauthz", { request = request }); + end + return { host = module.host }; elseif auth_type == "bearer" then if tokens.get_token_session then local token_session, err = tokens.get_token_session(auth_data);