Few optimization tips
avoid bare except: clause - at least use except Exception: (though it's also broad, check which exception class is most appropriate in that context)
a set of statements:
if check_password_hash(user["password"], password):
except: return False
is an overloaded and ...