mod_auth_custom_http/README.markdown
author Kim Alvefur <zash@zash.se>
Sat, 24 Oct 2015 14:01:40 +0200
changeset 1938 6c569c481ffa
child 2872 f90cf59bee8e
permissions -rw-r--r--
mod_auth_custom_http: Add README
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1938
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
---
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
summary: HTTP Authentication using custom JSON protocol
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
...
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
Introduction
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
============
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
To authenticate users, this module does a `POST` request to a configured
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
URL with a JSON payload. It is not async so requests block the server
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
until answered.
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
Configuration
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
=============
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
``` lua
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
VirtualHost "example.com"
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
authentication = "custom_http"
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
auth_custom_http = "http://api.example.com/auth"
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
```
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
Protocol
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
========
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    23
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    24
The JSON payload consists of an object with `username` and `password`
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    25
members:
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    26
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    27
    {"username":"john","password":"secr1t"}
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    28
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    29
The module expects the response body to be exactly `true` if the
6c569c481ffa mod_auth_custom_http: Add README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    30
username and password are correct.