Mercurial > prosody-wiki
annotate mod_register_json.wiki @ 213:7c960f1b4cf8
added summary.
author | maranda3985@gmail.com |
---|---|
date | Sun, 11 Sep 2011 00:30:49 +0000 |
parents | c33d7df822ff |
children | 818b1135d3e3 |
rev | line source |
---|---|
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
1 #summary mini JSON registration servlet. |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
2 #labels Stage-Alpha |
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: |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
33 {{{ |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
34 reg_servlet_realm = "Your Realm Name of choice" -- Modifies the name of the authentication realm. |
190 | 35 reg_servlet_ports = { *configuration directives in bosh ports format* } -- Allows to configure custom ports see: http://prosody.im/doc/setting_up_bosh |
187 | 36 reg_servlet_ttime = seconds -- Specifies the time (in seconds) between each request coming from the same remote address. |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
37 reg_servlet_bl = { "1.2.3.4", "4.3.2.1" } -- The ip addresses in this list will be blacklisted and won't be able to register. |
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. |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
39 }}} |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
40 |
190 | 41 Notes on ports: |
42 Modified to use, prosody's standard ports configuration format, if you don't specify any port via *port =* param, 9280 (non ssl) and 9443 (ssl) will be used. | |
188 | 43 |
184
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
44 = Compatibility = |
ad1b7e71c32e
Created wiki page through web user interface.
maranda3985@gmail.com
parents:
diff
changeset
|
45 |
191 | 46 Trunk - Works. |
188 | 47 |
191 | 48 0.8 - Should work. |
188 | 49 |
191 | 50 0.7 - Untested. |