def post_token(self): session = Session() if session.get("logged_in") == "true": session.extend() return redirect("/auth/login") from utils.format_checker import nyu_email_check email = request.form.get("email") print("email_received:", email) if not nyu_email_check(email): logbook.info("[GET EMAIL TOKEN] Wrong email format") return {"status": False, "message": "Email is of wrong format. Please provide NYU email"} query = User.select().where(User.email == email) if request.form.get("reset_password") == "true" and not(query.exists()): return {"status": False, "message": "This email has not been registered yet. Please register first"} if request.form.get("reset_password") != "true" and query.exists(): return {"status": False, "message": "This email has been registered"} token = TokenGenerator.generate() session["token"] = token session["email"] = email session.expire(600) email_helper = EmailHelper(receiver_email=email) email_helper.send_token(token) return {"status": True, "message": "A token has been sent to your mail box"}
def post_email_verify(self): session = Session() if session.get("login"): session.extend() return redirect("/homepage") token = request.form.get("token") stored_token = session.get("token") if stored_token is not None and stored_token == token: session["email_verified"] = "true" session.expire(900) return {"status": True, "message": "Email verify succeeds"} else: return {"status": False, "message": "Wrong token"}
def post_reset_password_email_verify(self): session = Session() if session.get("logged_in") == " true": session.extend() return redirect("/homepage") if session.get("reset_password_email_verified") == "true": return redirect("/auth/reset_password") token = request.form.get("token") stored_token = session.get("token") if stored_token is not None and stored_token == token: session["reset_password_email_verified"] = "true" session.expire(900) return redirect("/auth/reset_password") else: return {"status": False, "message": "Wrong token"}