comparison mod_auth_any/mod_auth_any.lua @ 2438:a528627e45ab

mod_auth_any: Remove provider constructor, it's only called once anyways
author Kim Alvefur <zash@zash.se>
date Sun, 08 Jan 2017 11:27:01 +0100
parents 75be377b74ea
children 1f7820f68868
comparison
equal deleted inserted replaced
2437:75be377b74ea 2438:a528627e45ab
20 local nodeprep = require "util.encodings".stringprep.nodeprep; 20 local nodeprep = require "util.encodings".stringprep.nodeprep;
21 local hosts = hosts; 21 local hosts = hosts;
22 22
23 local prosody = _G.prosody; 23 local prosody = _G.prosody;
24 24
25 function new_default_provider(host) 25 local host = module.host;
26 local provider = { name = "any" }; 26 local provider = { name = "any" };
27 log("debug", "initializing default authentication provider for host '%s'", host);
28 27
29 function provider.test_password(username, password) 28 function provider.test_password(username, password)
30 return true; 29 return true;
31 end
32
33 function provider.set_password(username, password)
34 local account = datamanager.load(username, host, "accounts");
35 if account then
36 account.password = password;
37 return datamanager.store(username, host, "accounts", account);
38 end
39 return nil, "Account not available.";
40 end
41
42 function provider.user_exists(username)
43 return true;
44 end
45
46 function provider.create_user(username, password)
47 return datamanager.store(username, host, "accounts", {password = password});
48 end
49
50 function provider.delete_user(username)
51 return datamanager.store(username, host, "accounts", nil);
52 end
53
54 function provider.get_sasl_handler()
55 local getpass_authentication_profile = {
56 plain_test = function(sasl, username, password, realm)
57 return true, true;
58 end
59 };
60 return new_sasl(module.host, getpass_authentication_profile);
61 end
62
63 return provider;
64 end 30 end
65 31
66 module:add_item("auth-provider", new_default_provider(module.host)); 32 function provider.set_password(username, password)
33 local account = datamanager.load(username, host, "accounts");
34 if account then
35 account.password = password;
36 return datamanager.store(username, host, "accounts", account);
37 end
38 return nil, "Account not available.";
39 end
67 40
41 function provider.user_exists(username)
42 return true;
43 end
44
45 function provider.create_user(username, password)
46 return datamanager.store(username, host, "accounts", {password = password});
47 end
48
49 function provider.delete_user(username)
50 return datamanager.store(username, host, "accounts", nil);
51 end
52
53 function provider.get_sasl_handler()
54 local getpass_authentication_profile = {
55 plain_test = function(sasl, username, password, realm)
56 return true, true;
57 end
58 };
59 return new_sasl(module.host, getpass_authentication_profile);
60 end
61
62 module:add_item("auth-provider", provider);
63