Comparison

plugins/mod_auth_internal_hashed.lua @ 12916:5a06d07596f9

mod_auth_internal_hashed: Add oauthbearer handler to our SASL profile
author Matthew Wild <mwild1@gmail.com>
date Wed, 01 Mar 2023 13:05:17 +0000
parent 12903:13950bf92802
child 12933:3ab0bbb1dc35
comparison
equal deleted inserted replaced
12915:70f6a8dceb1d 12916:5a06d07596f9
27 local get_auth_db = assert(scram_hashers[hash_name], "SCRAM-"..hash_name.." not supported by SASL library"); 27 local get_auth_db = assert(scram_hashers[hash_name], "SCRAM-"..hash_name.." not supported by SASL library");
28 local scram_name = "scram_"..hash_name:gsub("%-","_"):lower(); 28 local scram_name = "scram_"..hash_name:gsub("%-","_"):lower();
29 29
30 -- Default; can be set per-user 30 -- Default; can be set per-user
31 local default_iteration_count = module:get_option_number("default_iteration_count", 10000); 31 local default_iteration_count = module:get_option_number("default_iteration_count", 10000);
32
33 local tokenauth = module:depends("tokenauth");
32 34
33 -- define auth provider 35 -- define auth provider
34 local provider = {}; 36 local provider = {};
35 37
36 function provider.test_password(username, password) 38 function provider.test_password(username, password)
176 local stored_key, server_key = credentials.stored_key, credentials.server_key; 178 local stored_key, server_key = credentials.stored_key, credentials.server_key;
177 local iteration_count, salt = credentials.iteration_count, credentials.salt; 179 local iteration_count, salt = credentials.iteration_count, credentials.salt;
178 stored_key = stored_key and from_hex(stored_key); 180 stored_key = stored_key and from_hex(stored_key);
179 server_key = server_key and from_hex(server_key); 181 server_key = server_key and from_hex(server_key);
180 return stored_key, server_key, iteration_count, salt, not credentials.disabled; 182 return stored_key, server_key, iteration_count, salt, not credentials.disabled;
181 end 183 end;
184 oauthbearer = tokenauth.sasl_handler(provider, "oauth2", module:shared("tokenauth/oauthbearer_config"));
182 }; 185 };
183 return new_sasl(host, testpass_authentication_profile); 186 return new_sasl(host, testpass_authentication_profile);
184 end 187 end
185 188
186 module:provides("auth", provider); 189 module:provides("auth", provider);