Mercurial > prosody-modules
annotate mod_invites_register_web/mod_invites_register_web.lua @ 6319:04c3273cb81f
mod_auth_cyrus: Add empty 'profile' table to SASL handler objects
This is for compatibility with Prosody's built-in util.sasl objects.
A SASL profile table usually includes methods supported by the backend, which
can be used by SASL mechanism handlers to perform operations (such as testing
the password). It also optionally contains a 'cb' field with channel binding
method handlers.
The Cyrus backend doesn't support channel binding, and doesn't have the same
concept of auth backend methods (it handles all that internally, and Prosody
has no insight or control over it).
Thus, we create an empty profile which informs Prosody that the SASL handler
does not support any of the auth or channel binding methods. Some features
will not work, but they didn't work anyway. This just makes it explicit.
This fixes a traceback in mod_sasl2_fast, which expected SASL handlers to
always contain a 'profile' field.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 04 Sep 2025 10:14:46 +0100 |
| parents | 29a646bad096 |
| children | 6216d85162dc |
| rev | line source |
|---|---|
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 local id = require "util.id"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 local http_formdecode = require "net.http".formdecode; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 local usermanager = require "core.usermanager"; |
|
4167
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
4 local modulemanager = require "core.modulemanager"; |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 local nodeprep = require "util.encodings".stringprep.nodeprep; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 local st = require "util.stanza"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 local url_escape = require "util.http".urlencode; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 local render_html_template = require"util.interpolation".new("%b{}", st.xml_escape, { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 urlescape = url_escape; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 }); |
|
4175
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
11 local render_url = require "util.interpolation".new("%b{}", url_escape, { |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
12 urlescape = url_escape; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
13 noscheme = function (url) |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
14 return (url:gsub("^[^:]+:", "")); |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
15 end; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
16 }); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 module:depends("register_apps"); |
|
4833
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
19 local mod_password_policy = module:depends("password_policy"); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 local site_name = module:get_option_string("site_name", module.host); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 local site_apps = module:shared("register_apps/apps"); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 |
|
4167
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
24 local webchat_url = module:get_option_string("webchat_url"); |
|
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
25 |
|
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
26 -- If not provided, but mod_conversejs is loaded, default to that |
|
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
27 if not webchat_url and modulemanager.get_modules_for_host(module.host):contains("conversejs") then |
|
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
28 local conversejs = module:depends("conversejs"); |
|
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
29 webchat_url = conversejs.module:http_url(); |
|
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
30 end |
|
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
31 |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 module:depends("http"); |
|
4108
f49e3ea99785
mod_invites_register_web: Remove dependency on mod_easy_invite
Matthew Wild <mwild1@gmail.com>
parents:
4093
diff
changeset
|
33 |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 local invites = module:depends("invites"); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 local invites_page = module:depends("invites_page"); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 |
|
6227
29a646bad096
mod_invites_register_web: Allow pointing other HTML templates
Kim Alvefur <zash@zash.se>
parents:
4833
diff
changeset
|
37 local template_path = module:get_option_path("invites_register_template_path", "html"); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 function serve_register_page(event) |
|
6227
29a646bad096
mod_invites_register_web: Allow pointing other HTML templates
Kim Alvefur <zash@zash.se>
parents:
4833
diff
changeset
|
39 local register_page_template = assert(module:load_resource(template_path .. "/register.html")):read("*a"); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 |
|
4112
d0366474aace
mod_invites_register_web: Fix traceback on missing query params
Matthew Wild <mwild1@gmail.com>
parents:
4108
diff
changeset
|
41 local query_params = event.request.url.query and http_formdecode(event.request.url.query); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 |
|
4112
d0366474aace
mod_invites_register_web: Fix traceback on missing query params
Matthew Wild <mwild1@gmail.com>
parents:
4108
diff
changeset
|
43 local invite = query_params and invites.get(query_params.t); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 if not invite then |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
45 return { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
46 status_code = 303; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
47 headers = { |
|
4174
e56b6b6852ae
mod_invites_register_web: Fix bug where invalid invite code redirected to wrong URL
Matthew Wild <mwild1@gmail.com>
parents:
4167
diff
changeset
|
48 ["Location"] = invites_page.module:http_url().."?"..(event.request.url.query or ""); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
49 }; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
50 }; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
51 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
52 |
|
4129
ca099bd28bf5
mod_invites_page, mod_invites_register_web: Set correct Content-Type everywhere necessary
Matthew Wild <mwild1@gmail.com>
parents:
4119
diff
changeset
|
53 event.response.headers["Content-Type"] = "text/html; charset=utf-8"; |
|
ca099bd28bf5
mod_invites_page, mod_invites_register_web: Set correct Content-Type everywhere necessary
Matthew Wild <mwild1@gmail.com>
parents:
4119
diff
changeset
|
54 |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
55 local invite_page = render_html_template(register_page_template, { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
56 site_name = site_name; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
57 token = invite.token; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
58 domain = module.host; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
59 uri = invite.uri; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 type = invite.type; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
61 jid = invite.jid; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 inviter = invite.inviter; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
63 app = query_params.c and site_apps[query_params.c]; |
|
4833
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
64 password_policy = mod_password_policy.get_policy(); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
65 }); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 return invite_page; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
67 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
68 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
69 function handle_register_form(event) |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
70 local request, response = event.request, event.response; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
71 local form_data = http_formdecode(request.body); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
72 local user, password, token = form_data["user"], form_data["password"], form_data["token"]; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
73 local app_id = form_data["app_id"]; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
74 |
|
6227
29a646bad096
mod_invites_register_web: Allow pointing other HTML templates
Kim Alvefur <zash@zash.se>
parents:
4833
diff
changeset
|
75 local register_page_template = assert(module:load_resource(template_path .. "/register.html")):read("*a"); |
|
29a646bad096
mod_invites_register_web: Allow pointing other HTML templates
Kim Alvefur <zash@zash.se>
parents:
4833
diff
changeset
|
76 local error_template = assert(module:load_resource(template_path .. "/register_error.html")):read("*a"); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
77 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
78 local invite = invites.get(token); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
79 if not invite then |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
80 return { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
81 status_code = 303; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
82 headers = { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
83 ["Location"] = invites_page.module:http_url().."?"..event.request.url.query; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
84 }; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
85 }; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
86 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
87 |
|
4129
ca099bd28bf5
mod_invites_page, mod_invites_register_web: Set correct Content-Type everywhere necessary
Matthew Wild <mwild1@gmail.com>
parents:
4119
diff
changeset
|
88 event.response.headers["Content-Type"] = "text/html; charset=utf-8"; |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
89 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
90 if not user or #user == 0 or not password or #password == 0 or not token then |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
91 return render_html_template(register_page_template, { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
92 site_name = site_name; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
93 token = invite.token; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
94 domain = module.host; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
95 uri = invite.uri; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
96 type = invite.type; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
97 jid = invite.jid; |
|
4833
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
98 password_policy = mod_password_policy.get_policy(); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
99 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
100 msg_class = "alert-warning"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
101 message = "Please fill in all fields."; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
102 }); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
103 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
104 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
105 -- Shamelessly copied from mod_register_web. |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
106 local prepped_username = nodeprep(user); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
107 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
108 if not prepped_username or #prepped_username == 0 then |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
109 return render_html_template(register_page_template, { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
110 site_name = site_name; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
111 token = invite.token; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
112 domain = module.host; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
113 uri = invite.uri; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
114 type = invite.type; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
115 jid = invite.jid; |
|
4833
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
116 password_policy = mod_password_policy.get_policy(); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
117 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
118 msg_class = "alert-warning"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
119 message = "This username contains invalid characters."; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
120 }); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
121 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
122 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
123 if usermanager.user_exists(prepped_username, module.host) then |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
124 return render_html_template(register_page_template, { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
125 site_name = site_name; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
126 token = invite.token; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
127 domain = module.host; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
128 uri = invite.uri; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
129 type = invite.type; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
130 jid = invite.jid; |
|
4833
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
131 password_policy = mod_password_policy.get_policy(); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
132 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
133 msg_class = "alert-warning"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
134 message = "This username is already in use."; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
135 }); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
136 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
137 |
|
4833
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
138 local pw_ok, pw_error = mod_password_policy.check_password(password, { |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
139 username = prepped_username; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
140 }); |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
141 if not pw_ok then |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
142 return render_html_template(register_page_template, { |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
143 site_name = site_name; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
144 token = invite.token; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
145 domain = module.host; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
146 uri = invite.uri; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
147 type = invite.type; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
148 jid = invite.jid; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
149 password_policy = mod_password_policy.get_policy(); |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
150 |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
151 msg_class = "alert-warning"; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
152 message = pw_error; |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
153 }); |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
154 end |
|
15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
Matthew Wild <mwild1@gmail.com>
parents:
4175
diff
changeset
|
155 |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
156 local registering = { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
157 validated_invite = invite; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
158 username = prepped_username; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
159 host = module.host; |
|
4117
a1c6eea971ce
mod_invites_register_web: Include request.ip in user-registering event (thanks franck)
Matthew Wild <mwild1@gmail.com>
parents:
4112
diff
changeset
|
160 ip = request.ip; |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
161 allowed = true; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
162 }; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
163 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
164 module:fire_event("user-registering", registering); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
165 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
166 if not registering.allowed then |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
167 return render_html_template(error_template, { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
168 site_name = site_name; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
169 msg_class = "alert-danger"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
170 message = registering.reason or "Registration is not allowed."; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
171 }); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
172 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
173 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
174 local ok, err = usermanager.create_user(prepped_username, password, module.host); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
175 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
176 if ok then |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
177 module:fire_event("user-registered", { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
178 username = prepped_username; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
179 host = module.host; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
180 source = "mod_"..module.name; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
181 validated_invite = invite; |
|
4119
559ca8d93302
mod_invites_register_web: Also add ip to user-registered
Matthew Wild <mwild1@gmail.com>
parents:
4117
diff
changeset
|
182 ip = request.ip; |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
183 }); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
184 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
185 local app_info = site_apps[app_id]; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
186 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
187 local success_template; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
188 if app_info then |
|
4175
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
189 if app_info.login_link_format then |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
190 local redirect_url = render_url(app_info.login_link_format, { |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
191 site_name = site_name; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
192 username = prepped_username; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
193 domain = module.host; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
194 password = password; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
195 app = app_info; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
196 }); |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
197 return { |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
198 status_code = 303; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
199 headers = { |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
200 ["Location"] = redirect_url; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
201 }; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
202 }; |
|
39d1a4ecdee6
mod_invites_register_web: Support a 'login_link_format' for apps, redirected to after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4174
diff
changeset
|
203 end |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
204 -- If recognised app, we serve a page that includes setup instructions |
|
6227
29a646bad096
mod_invites_register_web: Allow pointing other HTML templates
Kim Alvefur <zash@zash.se>
parents:
4833
diff
changeset
|
205 success_template = assert(module:load_resource(template_path .. "/register_success_setup.html")):read("*a"); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
206 else |
|
6227
29a646bad096
mod_invites_register_web: Allow pointing other HTML templates
Kim Alvefur <zash@zash.se>
parents:
4833
diff
changeset
|
207 success_template = assert(module:load_resource(template_path .. "/register_success.html")):read("*a"); |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
208 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
209 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
210 -- Due to the credentials being served here, ensure that |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
211 -- the browser or any intermediary does not cache the page |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
212 event.response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
213 event.response.headers["Pragma"] = "no-cache"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
214 event.response.headers["Expires"] = "0"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
215 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
216 return render_html_template(success_template, { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
217 site_name = site_name; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
218 username = prepped_username; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
219 domain = module.host; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
220 password = password; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
221 app = app_info; |
|
4167
3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
Matthew Wild <mwild1@gmail.com>
parents:
4129
diff
changeset
|
222 webchat_url = webchat_url; |
|
4093
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
223 }); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
224 else |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
225 local err_id = id.short(); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
226 module:log("warn", "Registration failed (%s): %s", err_id, tostring(err)); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
227 return render_html_template(error_template, { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
228 site_name = site_name; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
229 msg_class = "alert-danger"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
230 message = ("An unknown error has occurred (%s)"):format(err_id); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
231 }); |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
232 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
233 end |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
234 |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
235 module:provides("http", { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
236 default_path = "register"; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
237 route = { |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
238 ["GET"] = serve_register_page; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
239 ["POST"] = handle_register_form; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
240 }; |
|
a2116f5a7c8f
mod_invites_register_web: New module to allow web registration with an invite token
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
241 }); |
