Fix: Users with underscores in their name can't log in by underscore.

This commit is contained in:
Ben Rog-Wilhelm 2022-11-13 17:57:23 -06:00 committed by Ben Rog-Wilhelm
parent 060e3967fd
commit 12881b02e2

View file

@ -86,14 +86,11 @@ def login_post():
username = request.values.get("username")
if not username: abort(400)
username = sql_ilike_clean(username.lstrip('@'))
if not username: abort(400)
if username.startswith('@'): username = username[1:]
if "@" in username:
try: account = g.db.query(User).filter(User.email.ilike(username)).one_or_none()
try: account = g.db.query(User).filter(User.email.ilike(sql_ilike_clean(username))).one_or_none()
except: return "Multiple users use this email!"
else: account = get_user(username, graceful=True)
@ -101,7 +98,6 @@ def login_post():
time.sleep(random.uniform(0, 2))
return render_template("login.html", failed=True)
if request.values.get("password"):
if not account.verifyPass(request.values.get("password")):