def get_info_response(phone_id): user = get_user(phone_id) if not user: return render_template('404.html') else: result = jsonify(data=dict(name=user.name, age=user.age, email=user.email), res_code=201) result = eval(result.data) return render_template('user.html', result=result)
def unfollow(username): user = get_user(username=username) if user is None: flash("User {} not found.".format(username)) return redirect(url_for("index")) if user == current_user: flash("You cannot unfollow yourself!") return redirect(url_for("user", username=username)) current_user.unfollow(user) flash("You are not following {}.".format(username)) return redirect(url_for("user", username=username))
def login(): body = request.get_json() username = body["username"] password = body["password"] db_user = models.get_user(username) if db_user == None or not check_password_hash(db_user['password'], password): return "Your credentials have been rejected" # decode converts bites into string token = {"token": make_jwt(username).decode()} res = make_response(token, 200, {'content-type': 'application/json'}) return res
def reset_password_request(): if current_user.is_authenticated: return redirect(url_for("index")) form = ResetPasswordRequestForm() if form.validate_on_submit(): user = get_user(email=form.email.data) if user: send_password_reset_email(user) flash("Check your email for the instructions to reset your password") return redirect(url_for("login")) return render_template("reset_password_request.html", title="Reset Password", form=form)
def update_info_response(phone_id): req = request.get_json() password = req.get('password', '') if not password: return jsonify('password can not be empty') user = get_user(phone_id) user.password = password user.name = req.get('name', '') user.age = req.get('age', '') user.email = req.get('email', '') result = user.update() if result: return jsonify(name=user.name, age=user.age, email=user.email, )
def add_user(): user = validate_message(request.get_json(), 'username', 'password') if not user: return make_response( "Your request body must contain username and password fields", 400) if models.get_user(user['username']): return make_response("Username is already in database", 401) user['password'] = generate_password_hash(user['password']) models.add_user(user) username = user['username'] # decode converts bites into string # but why? token = {"token": make_jwt(username).decode()} res = make_response(token, 200, {'content-type': 'application/json'}) return res
def login(): if current_user.is_authenticated: return redirect(url_for('main.index')) if request.method == 'POST': username = request.form.get('username') password_input = request.form.get('password') user = get_user(username) if user and user.check_password(password_input): login_user(user) return redirect(url_for('main.index')) else: flash('Failed to login!', 'danger') return render_template('auth/login.html')
def login(): if current_user.is_authenticated: return redirect(url_for("index")) form = LoginForm() if form.validate_on_submit(): user = get_user(username=form.username.data) if user is None or not user.check_password(form.password.data): flash("Invalid Username or Password") return redirect(url_for("login")) login_user(user, remember=form.remember_me.data) next_page = request.args.get("next") if not next_page or url_parse(next_page).netloc != "": next_page = url_for("index") return redirect(url_for("index")) return render_template("login.html", title="Sign In", form=form)
def validate_rollno(self, rollno): user = get_user(rollno=rollno.data) if user is not None: raise ValidationError("A user with this rollno already exists.") """The below expression checks that the rollno entered is a valid rollno given to us by our college. I am using a regex that matches the rollno format for my college. If you are reusing this code (very unlikely as I don't think this code would even be read by someone else than me.) you need to remove the code section below or use your custom regex.""" result=re.fullmatch("(18|19)[Ii][Tt][0-9]{4}", rollno.data) if result is None: raise ValidationError("Please provide the correct rollno.")
def decorator(*args, **kwargs): token = None if 'Authorization' in request.headers: token = request.headers['Authorization'].replace("Bearer ", "") if not token: return jsonify({'message': 'a valid token is missing'}) try: data = jwt.decode(token, jwt_secret, algorithm="HS256") current_user = get_user(data['username']) except: return jsonify({'message': 'token is invalid'}) return f(current_user, *args, **kwargs)
def user(username): user = get_user(username=username) if not user: """If no Users object is found with the given username then the abort function forces a 404 error.""" abort(404) page = request.args.get("page", 1, type=int) posts_per_page = app.config["POSTS_PER_PAGE"] all_posts = user.own_posts() posts = all_posts[(page - 1) * posts_per_page:page * posts_per_page] next_url = url_for("user", username=username, page=page+1)\ if (len(all_posts) > page*posts_per_page) else None prev_url = url_for("user", username=username, page=page-1)\ if (page-1 > 0) else None return render_template("user.html", user=user, posts=posts, next_url=next_url, prev_url=prev_url)
def login(): if current_user.is_authenticated: return redirect(url_for('index')) form = LoginForm() if form.validate_on_submit(): user = get_user(form.email.data) password = form.password.data if user is not None and user.check_password(password): login_user(user, remember=form.remember_me.data) next_page = request.args.get("next") if not next_page or url_parse(next_page).netloc != "": next_page = url_for("index") return redirect(next_page) return render_template("login.html", title="Ingreso", form=form)
def validate_username(self, username): if username.data != self.original_username: user = get_user(username=self.username.data) if user is not None: raise ValidationError("Please use a different username.")
def route_user(): models.get_user("user_id", 1) return ""
def validate_email(self, email): user = get_user(email=email.data) if user is not None: raise ValidationError("Please use a different email address.")
def validate_username(self, username): user = get_user(username=username.data) if user is not None: raise ValidationError("Please use a different username.")
def test_login(self): tU = get_user("username","john") self.assertTrue(tU and validate_user(tU.username,"1234"))
def load_user(username): return get_user(username)