def test_get(self): self.user.create_table() self.user.save() results = User.get() self.assertEqual(self.user, results[0], "Unable to get all data") import datetime d = datetime.datetime.now() - datetime.timedelta(minutes=2) results = User.get(d) self.assertEqual(self.user, results[0], "Unable to get new data")
def callback(): # Get authorization code Google sent back to you code = request.args.get("code") # Find out what URL to hit to get tokens that allow you to ask for things on behalf of a user google_provider_cfg = get_google_provider_cfg() token_endpoint = google_provider_cfg["token_endpoint"] # Prepare and send a request to get tokens token_url, headers, body = client.prepare_token_request( token_endpoint, authorization_response=request.url, redirect_url=request.base_url, code=code) token_response = requests.post( token_url, headers=headers, data=body, auth=(GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET), ) # Parse the tokens client.parse_request_body_response(json.dumps(token_response.json())) # Now that you have tokens let's find and hit the URL # from Google that gives you the user's profile information, # including their Google profile image and email userinfo_endpoint = google_provider_cfg["userinfo_endpoint"] uri, headers, body = client.add_token(userinfo_endpoint) userinfo_response = requests.get(uri, headers=headers, data=body) # You want to make sure their email is verified. # The user authenticated with Google, authorized your # app, and now you've verified their email through Google! if userinfo_response.json().get("email_verified"): unique_id = userinfo_response.json()["sub"] users_email = userinfo_response.json()["email"] picture = userinfo_response.json()["picture"] users_name = userinfo_response.json()["given_name"] else: return "User email not available or not verified by Google.", 400 # Create a user in your db with the information provided by Google user = User(id_=unique_id, name=users_name, email=users_email, profile_pic=picture) # Doesn't exist? Add it to the database. if not User.get(unique_id): User.create(unique_id, users_name, users_email, picture) new_user = True return new_user # Begin user session by logging the user in login_user(user, remember=True, duration=timedelta(days=30)) # Send user back to homepage return redirect(url_for("home"))
def change_password(): error_message = None if request.method == 'POST': user = User.get(g.user.id) original_password = request.form.get('original_password') new_password = request.form.get('new_password') if new_password != request.form.get('new_password_check'): error_message = 'New passwords do not match.' elif not check_password_hash(user.password_hash, original_password): error_message = 'Your password is not correct.' elif len(new_password) < 8: error_message = 'New password must be at least 8 characters.' else: user.password_hash = generate_password_hash(new_password) save_changes() return render_template('/pages/admin/change_password.html', error_message=error_message)
def login(): if not request.is_json: return jsonify({"msg": "Missing JSON in request"}), 400 username = request.json.get('username', None) password = request.json.get('password', None) if not username: return jsonify({"msg": "Missing username parameter"}), 400 if not password: return jsonify({"msg": "Missing password parameter"}), 400 exists = False with orm.db_session(): u = User.get(username=username) if u is not None and check_password(password, u.password): exists = True if not exists: return jsonify({"msg": "The user does not exist"}), 400 return jsonify({ 'access_token': create_access_token(identity=username), 'refresh_token': create_refresh_token(identity=username) }), 200
def load_user(user_id): from database.user import User return User.get(user_id)
def load_user(user_id): print(User.get(user_id)) return User.get(user_id)