Mercurial > prosody-wiki
annotate mod_register_json.wiki @ 278:41d03be9ac76
updated wiki.
author | Marco Cirillo <maranda@lightwitch.org> |
---|---|
date | Sat, 26 May 2012 02:59:31 +0000 |
parents | 08744edfffba |
children | 980a177b8a19 |
rev | line source |
---|---|
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
1 #summary mini JSON registration servlet. |
276 | 2 #labels Stage-Beta |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
3 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
4 = Introduction = |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
5 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
6 This module let's you activate a httpserver interface to handle data from webforms with POST and JSON. |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
7 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
8 = Details = |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
9 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
10 It will accept the following format: |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
11 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
12 {{{ |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
13 POST /your_register_base_url HTTP/1.0 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
14 Host: yourserveraddress.com:yourchoosenport |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
15 Authorization: Basic base64authstring |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
16 Content-Type: application/json |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
17 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
18 {"username":"usernameofchoice","password":"theuserpassword","host":"yourserverorvhostaddress","ip":"theremoteaddroftheuser"} |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
19 }}} |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
20 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
21 It will require a server admin (of the given host) to provide valid credentials to submit data via Basic HTTP auth first. |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
22 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
23 The ip field is at the moment is required to be present even if unset (""), you will require to set it using the webserver's REMOTE_ADDR global (or similar) to pass the client's ip address should you want to employ throttling/blacklisting/whitelisting of requests. |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
24 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
25 = Usage = |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
26 |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
27 Copy the module file into your prosody modules directory. |
186 | 28 Load the module in your configuration file's global section, that would suffice to run it. |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
29 |
185 | 30 Hint: pairing with mod_register_url is helpful, to allow server registrations only via your webform. |
31 | |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
32 Optional configuration directives: |
229 | 33 <code language="lua"> |
278 | 34 reg_servlet_base = "/base-path/" -- Base path of the plugin |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
35 reg_servlet_realm = "Your Realm Name of choice" -- Modifies the name of the authentication realm. |
187 | 36 reg_servlet_ttime = seconds -- Specifies the time (in seconds) between each request coming from the same remote address. |
228 | 37 reg_servlet_bl = { "1.2.3.4", "4.3.2.1" } -- The ip addresses in this list will be blacklisted and will not be able to submit registrations. |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
38 reg_servlet_wl = { "1.2.3.4", "4.3.2.1" } -- The ip addresses in this list will be ignored by the throttling. |
229 | 39 </code> |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
40 |
276 | 41 = Info = |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
42 |
276 | 43 * This is only compatible with 0.9, please look at the 0.8-diverge branch for older versions |