Software /
code /
prosody-modules
Annotate
mod_auth_custom_http/README.markdown @ 5276:67777cb7353d
mod_http_oauth2: Pedantic optimization
Checking the length of the string seems like 30% more expensive than
comparing it with the empty string (by reference, probably).
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 26 Mar 2023 14:37:42 +0200 |
parent | 2868:f90cf59bee8e |
rev | line source |
---|---|
1934 | 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" | |
2868
f90cf59bee8e
mod_auth_custom_http: fix documentation config example
Senya <senya@kinetiksoft.com>
parents:
1934
diff
changeset
|
18 auth_custom_http = { |
f90cf59bee8e
mod_auth_custom_http: fix documentation config example
Senya <senya@kinetiksoft.com>
parents:
1934
diff
changeset
|
19 post_url = "http://api.example.com/auth"; |
f90cf59bee8e
mod_auth_custom_http: fix documentation config example
Senya <senya@kinetiksoft.com>
parents:
1934
diff
changeset
|
20 } |
1934 | 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. |