Total noob here but by browsing the sourcecode, I’ve found the function/regex that checks for the email correctness (permalink). I guess that by looking at the existing code and at the is_email_regex function, you can rather easily add an additional check to make sure the email is bound to the domain you want. No idea if this function/regex is the one the code actually tests email addresses against to check whether they are valid or not
Edit apparently that function is not used in the registration process, but in the login one. I’m totally cluelessly wandering across the code so someone please correct me if I’m wrong. Apparently the registration process is handled here. I think that if you add an additional check on the email address here, you can obtain the result you’re looking for
…and you’d have to add a new unauthorized_email_domain key to the translations file. Again I hope I’m stressing it enough, do not trust me. There are probably more correct or consistent ways of doing it. I’m just trying to figure out by myself lol
Total noob here but by browsing the sourcecode, I’ve found the function/regex that checks for the email correctness (permalink). I guess that by looking at the existing code and at the
is_email_regex
function, you can rather easily add an additional check to make sure the email is bound to the domain you want. No idea if this function/regex is the one the code actually tests email addresses against to check whether they are valid or notEdit apparently that function is not used in the registration process, but in the login one. I’m totally cluelessly wandering across the code so someone please correct me if I’m wrong. Apparently the registration process is handled here. I think that if you add an additional check on the email address here, you can obtain the result you’re looking for
Something like:
lazy_static! { static ref UNI_REGEX: Regex = Regex::new(r"^.+@somedomain$").unwrap(); } pub fn is_uni_regex(test: &str) -> bool { UNI_REGEX.is_match(test) }
and then in the file I linked above:
if is_uni_regex(data.email) { return Err(APIError::err("unauthorized_email_domain").into()); }
…and you’d have to add a new
unauthorized_email_domain
key to the translations file. Again I hope I’m stressing it enough, do not trust me. There are probably more correct or consistent ways of doing it. I’m just trying to figure out by myself lolThanks! Yeah, I figured I would need to put some effort beyond a simple fix. Just more fun I guess :)
Yup this is correct, it would be that easy.