comparison mod_http_oauth2/mod_http_oauth2.lua @ 4258:cc712899becd

mod_http_oauth2: Unpack event object to improve readability
author Kim Alvefur <zash@zash.se>
date Sat, 21 Nov 2020 16:36:44 +0100
parents 145e8e8a247a
children 721b528c01e1
comparison
equal deleted inserted replaced
4257:145e8e8a247a 4258:cc712899becd
173 end 173 end
174 return grant_handler(params); 174 return grant_handler(params);
175 end 175 end
176 176
177 local function handle_authorization_request(event) 177 local function handle_authorization_request(event)
178 if not event.request.headers.authorization then 178 local request, response = event.request, event.response;
179 event.response.headers.www_authenticate = string.format("Basic realm=%q", module.host.."/"..module.name); 179 if not request.headers.authorization then
180 response.headers.www_authenticate = string.format("Basic realm=%q", module.host.."/"..module.name);
180 return 401; 181 return 401;
181 end 182 end
182 local user = check_credentials(event.request); 183 local user = check_credentials(request);
183 if not user then 184 if not user then
184 return 401; 185 return 401;
185 end 186 end
186 if not event.request.url.query then 187 if not request.url.query then
187 event.response.headers.content_type = "application/json"; 188 response.headers.content_type = "application/json";
188 return oauth_error("invalid_request"); 189 return oauth_error("invalid_request");
189 end 190 end
190 local params = http.formdecode(event.request.url.query); 191 local params = http.formdecode(request.url.query);
191 if not params then 192 if not params then
192 return oauth_error("invalid_request"); 193 return oauth_error("invalid_request");
193 end 194 end
194 local response_type = params.response_type; 195 local response_type = params.response_type;
195 local response_handler = response_type_handlers[response_type]; 196 local response_handler = response_type_handlers[response_type];
196 if not response_handler then 197 if not response_handler then
197 event.response.headers.content_type = "application/json"; 198 response.headers.content_type = "application/json";
198 return oauth_error("unsupported_response_type"); 199 return oauth_error("unsupported_response_type");
199 end 200 end
200 return response_handler(params, jid.join(user, module.host)); 201 return response_handler(params, jid.join(user, module.host));
201 end 202 end
202 203