Mercurial > prosody-modules
comparison mod_register_web/mod_register_web.lua @ 746:03595194075a
mod_register_web: nodeprep username before creating user (thanks IRON)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sun, 22 Jul 2012 19:52:45 +0100 |
parents | c08b0e4b7b38 |
children | b9d149936764 |
comparison
equal
deleted
inserted
replaced
745:c68ce6eb97f0 | 746:03595194075a |
---|---|
1 local captcha_options = module:get_option("captcha_options", {}); | 1 local captcha_options = module:get_option("captcha_options", {}); |
2 local nodeprep = require "util.encodings".stringprep.nodeprep; | |
2 | 3 |
3 function generate_captcha(display_options) | 4 function generate_captcha(display_options) |
4 return (([[ | 5 return (([[ |
5 <script type="text/javascript" | 6 <script type="text/javascript" |
6 src="http://www.google.com/recaptcha/api/challenge?k=$$recaptcha_public_key$$"> | 7 src="http://www.google.com/recaptcha/api/challenge?k=$$recaptcha_public_key$$"> |
48 </form> | 49 </form> |
49 </body></html>]]; | 50 </body></html>]]; |
50 end | 51 end |
51 | 52 |
52 function register_user(form) | 53 function register_user(form) |
53 if usermanager.user_exists(form.username, module.host) then | 54 local prepped_username = nodeprep(form.username); |
54 return nil, "user-exists"; | 55 if usermanager.user_exists(prepped_username, module.host) then |
55 end | 56 return nil, "user-exists"; |
56 return usermanager.create_user(form.username, form.password, module.host); | 57 end |
58 return usermanager.create_user(prepped_username, form.password, module.host); | |
57 end | 59 end |
58 | 60 |
59 function generate_success(event, form) | 61 function generate_success(event, form) |
60 return [[<!DOCTYPE html> | 62 return [[<!DOCTYPE html> |
61 <html><body><p>Registration succeeded! Your account is <pre>]] | 63 <html><body><p>Registration succeeded! Your account is <pre>]] |