def new_user(): if request.method == 'POST': if request.form["name"]: username = request.form["name"] if request.form["password"]: password = request.form["password"] if request.form["email"]: email = request.form["email"] if username is None or password is None or email is None: print "missing arguments" abort(400) #check if it is existing user if session.query(User).filter_by( username=username).first() is not None: print "existing user" else: # add the user info to database user = User(username=username) user.hash_password(password) user.email = email session.add(user) session.commit() return redirect(url_for('get_auth_token')) else: return render_template('newusers.html')
def add_user(): user = User() user.name = session['name'] user.email = session['email'] user.url = session['img'] user.provider = session['provider'] sess.add(user) sess.commit()
def createUser(request): username = request.get('username') password = request.get('password') email = request.get('email') if username == '' or password == '' or email == '': return "You must provide all fields", 400 if session.query(User).filter_by(name=username).first() is not None: return "Username used", 400 if session.query(User).filter_by(email=email).first() is not None: return "Email used", 400 user = User(name=username) user.hash_password(password) user.email = email user.picture = "https://picsum.photos/500?random" session.add(user) session.commit() return jsonify({'username': user.name}), 201
def callback(): """ Google authentication Callback """ # Redirects if not logged in if current_user is not None and current_user.is_authenticated: return redirect(url_for('index')) # checks for authntication error if 'error' in request.args: if request.args.get('error') == 'access_denied': return 'You denied access.' return 'Error encountered.' if 'code' not in request.args and 'state' not in request.args: return redirect(url_for('login')) else: google = get_google_auth(state=session['oauth_state']) try: # Fetch tonken token = google.fetch_token( Auth.TOKEN_URI, client_secret=Auth.CLIENT_SECRET, authorization_response=request.url) except HTTPError: return 'HTTPError occurred.' google = get_google_auth(token=token) # get user info if availabale resp = google.get(Auth.USER_INFO) if resp.status_code == 200: user_data = resp.json() email = user_data['email'] user = dbsession.query(User).filter_by(email=email).first() # sets details if not avialbale if user is None: user = User() user.email = email user.name = user_data['name'] print(token) user.tokens = json.dumps(token) # Adds user to databse dbsession.add(User(email=user.email, token=user.token, name=user.name)) # noqa dbsession.commit() login_user(user) # redirects to homepage return redirect(url_for('index')) return 'Could not fetch your information.'
def register(): if request.method == 'GET': return render_template('register.html') username = request.form['username'] password = request.form['password'] email = request.form['email'] if username and password and email: user = User() user.email = request.form['email'] user.password = request.form['password'] user.username = request.form['username'] db.session.add(user) db.session.commit() flash('User successfully registered') return redirect(url_for('login')) else: flash('Please fill all the fields to register') return redirect(url_for('register'))
def callback(): # Redirect user to home page if already logged in. if current_user is not None and current_user.is_authenticated: return redirect(url_for('restaurants')) if 'error' in request.args: if request.args.get('error') == 'access_denied': flash('You denied access.') return flash('Error encountered') return if 'code' not in request.args and 'state' not in request.args: return redirect(url_for('login')) else: # Execution reaches here when user has # successfully authenticated our app. print 'my still session', session google = get_google_auth(state=session['oauth_state']) try: token = google.fetch_token(Auth.TOKEN_URI, client_secret=Auth.CLIENT_SECRET, authorization_response=request.url) except HTTPError: return 'HTTPError occurred.' google = get_google_auth(token=token) resp = google.get(Auth.USER_INFO) if resp.status_code == 200: user_data = resp.json() email = user_data['email'] print 'my email', email user = db_session.query(User).filter_by(email=email).first() # print 'my google user', user.fetchall() if user is None: user = User() user.email = email user.username = user_data['name'] print(token) user.tokens = json.dumps(token) user.avatar = user_data['picture'] db_session.add(user) db_session.commit() login_user(user) return redirect(url_for('all_restaurants')) return 'Could not fetch your information.'
def callback(): if current_user is not None and current_user.is_authenticated: return redirect(url_for('index')) if 'error' in request.args: if request.args.get('error') == 'access_denied': return 'You denied access.' return 'Error encountered.' if 'code' not in request.args and 'state' not in request.args: return redirect(url_for('login')) else: google = get_google_auth(state=session['oauth_state']) try: token = google.fetch_token(Auth.TOKEN_URI, client_secret=Auth.CLIENT_SECRET, authorization_response=request.url) except Exception: return 'HTTPError occurred.' google = get_google_auth(token=token) resp = google.get(Auth.USER_INFO) print(resp) if resp.status_code == 200: user_data = resp.json() email = user_data['email'] user = User.query.filter_by(email=email).first() print(user) if user is None: user = User() user.email = email user.username = user_data['email'] print(token) user.social_auth_token = json.dumps(token) db.session.add(user) db.session.commit() login_user(user) return redirect(url_for('index')) return 'Could not fetch your information.'