annotate mod_http_debug/mod_http_debug.lua @ 5447:aa4828f040c5

mod_http_oauth2: Enforce client scope restrictions in authorization When registering a client, a scope field can be included as a promise to only ever use those. Here we enforce that promise, if given, ensuring a client can't request or be granted a scope it didn't provide in its registration. While currently there is no restrictions at registration time, this could be changed in the future in various ways.
author Kim Alvefur <zash@zash.se>
date Thu, 11 May 2023 19:33:44 +0200
parents 10fcfa7e62a1
children 91564b57e595
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5333
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local json = require "util.json"
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 module:depends("http")
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 module:provides("http", {
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 route = {
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 GET = function(event)
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 local request = event.request;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 return {
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 status_code = 200;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 headers = {
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 content_type = "application/json",
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 },
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 body = json.encode {
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 body = request.body;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 headers = request.headers;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 httpversion = request.httpversion;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 ip = request.ip;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 method = request.method;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 path = request.path;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 secure = request.secure;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 url = request.url;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 }
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 }
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 end;
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 }
10fcfa7e62a1 mod_http_debug: Module that echos back HTTP request info for debugging
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 })