author | Matthew Wild <mwild1@gmail.com> |
Wed, 07 Feb 2024 11:57:30 +0000 | |
changeset 5837 | 58df53eefa28 |
parent 2872 | f90cf59bee8e |
permissions | -rw-r--r-- |
1938 | 1 |
--- |
2 |
summary: HTTP Authentication using custom JSON protocol |
|
3 |
... |
|
4 |
||
5 |
Introduction |
|
6 |
============ |
|
7 |
||
8 |
To authenticate users, this module does a `POST` request to a configured |
|
9 |
URL with a JSON payload. It is not async so requests block the server |
|
10 |
until answered. |
|
11 |
||
12 |
Configuration |
|
13 |
============= |
|
14 |
||
15 |
``` lua |
|
16 |
VirtualHost "example.com" |
|
17 |
authentication = "custom_http" |
|
2872
f90cf59bee8e
mod_auth_custom_http: fix documentation config example
Senya <senya@kinetiksoft.com>
parents:
1938
diff
changeset
|
18 |
auth_custom_http = { |
f90cf59bee8e
mod_auth_custom_http: fix documentation config example
Senya <senya@kinetiksoft.com>
parents:
1938
diff
changeset
|
19 |
post_url = "http://api.example.com/auth"; |
f90cf59bee8e
mod_auth_custom_http: fix documentation config example
Senya <senya@kinetiksoft.com>
parents:
1938
diff
changeset
|
20 |
} |
1938 | 21 |
``` |
22 |
||
23 |
Protocol |
|
24 |
======== |
|
25 |
||
26 |
The JSON payload consists of an object with `username` and `password` |
|
27 |
members: |
|
28 |
||
29 |
{"username":"john","password":"secr1t"} |
|
30 |
||
31 |
The module expects the response body to be exactly `true` if the |
|
32 |
username and password are correct. |