Mercurial > prosody-modules
comparison mod_invites_register_web/mod_invites_register_web.lua @ 4833:15cf32e666da
mod_invites_register_web: Add mod_password_policy checks for web registration
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 22 Dec 2021 15:05:31 +0000 |
parents | 39d1a4ecdee6 |
children |
comparison
equal
deleted
inserted
replaced
4832:bfd4af4caddc | 4833:15cf32e666da |
---|---|
14 return (url:gsub("^[^:]+:", "")); | 14 return (url:gsub("^[^:]+:", "")); |
15 end; | 15 end; |
16 }); | 16 }); |
17 | 17 |
18 module:depends("register_apps"); | 18 module:depends("register_apps"); |
19 local mod_password_policy = module:depends("password_policy"); | |
19 | 20 |
20 local site_name = module:get_option_string("site_name", module.host); | 21 local site_name = module:get_option_string("site_name", module.host); |
21 local site_apps = module:shared("register_apps/apps"); | 22 local site_apps = module:shared("register_apps/apps"); |
22 | 23 |
23 local webchat_url = module:get_option_string("webchat_url"); | 24 local webchat_url = module:get_option_string("webchat_url"); |
57 uri = invite.uri; | 58 uri = invite.uri; |
58 type = invite.type; | 59 type = invite.type; |
59 jid = invite.jid; | 60 jid = invite.jid; |
60 inviter = invite.inviter; | 61 inviter = invite.inviter; |
61 app = query_params.c and site_apps[query_params.c]; | 62 app = query_params.c and site_apps[query_params.c]; |
63 password_policy = mod_password_policy.get_policy(); | |
62 }); | 64 }); |
63 return invite_page; | 65 return invite_page; |
64 end | 66 end |
65 | 67 |
66 function handle_register_form(event) | 68 function handle_register_form(event) |
90 token = invite.token; | 92 token = invite.token; |
91 domain = module.host; | 93 domain = module.host; |
92 uri = invite.uri; | 94 uri = invite.uri; |
93 type = invite.type; | 95 type = invite.type; |
94 jid = invite.jid; | 96 jid = invite.jid; |
97 password_policy = mod_password_policy.get_policy(); | |
95 | 98 |
96 msg_class = "alert-warning"; | 99 msg_class = "alert-warning"; |
97 message = "Please fill in all fields."; | 100 message = "Please fill in all fields."; |
98 }); | 101 }); |
99 end | 102 end |
107 token = invite.token; | 110 token = invite.token; |
108 domain = module.host; | 111 domain = module.host; |
109 uri = invite.uri; | 112 uri = invite.uri; |
110 type = invite.type; | 113 type = invite.type; |
111 jid = invite.jid; | 114 jid = invite.jid; |
115 password_policy = mod_password_policy.get_policy(); | |
112 | 116 |
113 msg_class = "alert-warning"; | 117 msg_class = "alert-warning"; |
114 message = "This username contains invalid characters."; | 118 message = "This username contains invalid characters."; |
115 }); | 119 }); |
116 end | 120 end |
121 token = invite.token; | 125 token = invite.token; |
122 domain = module.host; | 126 domain = module.host; |
123 uri = invite.uri; | 127 uri = invite.uri; |
124 type = invite.type; | 128 type = invite.type; |
125 jid = invite.jid; | 129 jid = invite.jid; |
130 password_policy = mod_password_policy.get_policy(); | |
126 | 131 |
127 msg_class = "alert-warning"; | 132 msg_class = "alert-warning"; |
128 message = "This username is already in use."; | 133 message = "This username is already in use."; |
134 }); | |
135 end | |
136 | |
137 local pw_ok, pw_error = mod_password_policy.check_password(password, { | |
138 username = prepped_username; | |
139 }); | |
140 if not pw_ok then | |
141 return render_html_template(register_page_template, { | |
142 site_name = site_name; | |
143 token = invite.token; | |
144 domain = module.host; | |
145 uri = invite.uri; | |
146 type = invite.type; | |
147 jid = invite.jid; | |
148 password_policy = mod_password_policy.get_policy(); | |
149 | |
150 msg_class = "alert-warning"; | |
151 message = pw_error; | |
129 }); | 152 }); |
130 end | 153 end |
131 | 154 |
132 local registering = { | 155 local registering = { |
133 validated_invite = invite; | 156 validated_invite = invite; |