def authorize(): google = oauth.create_client('google') token = google.authorize_access_token() response = google.get('userinfo') user_info = response.json() user = oauth.google.userinfo() session['profile'] = user_info user = User.query.filter_by(email = user_info['email']).first() if user: user.first_name = user_info['given_name'] user.last_name = user_info['family_name'] user.email = user_info['email'] user.g_auth_verify = user_info['verified_email'] db.session.add(user) db.session.commit() login_user(user) session.permanent = True return redirect(url_for('home')) else: g_first_name = user_info['given_name'] g_last_name = user_info['family_name'] g_email = user_info['email'] g_verified = user_info['verified_email'] user = User( first_name = g_first_name, last_name = g_last_name, email = g_email, g_auth_verify = g_verified ) db.session.add(user) db.session.commit() session.permanent = True login_user(user) return redirect(url_for('home')) print(user_info) return redirect(url_for('home'))
def authorize(): google = oauth.create_client('google') token = google.authorize_access_token() #requests user info from response = google.get('userinfo') #saves the information given in response as a .json file user_info = response.json() user = oauth.google.userinfo() session['profile'] = user_info #searches the db for a user wiht the same email as the one provided by google user = User.query.filter_by(email=user_info['email']).first() #if user is true if user: user.first_name = user_info['given_name'] user.last_name = user_info['family_name'] user.email = user_info['email'] user.g_auth_verify = user_info['verified_email'] #if none exists, the following updates the user in the table db.session.add(user) db.session.commit() login_user(user) session.permanent = True return redirect(url_for('home')) else: g_first_name = user_info['given_name'] g_last_name = user_info['family_name'] g_email = user_info['email'] g_verified = user_info['verified_email'] user = User(first_name=g_first_name, last_name=g_last_name, email=g_email, g_auth_verify=g_verified) db.session.add(user) db.session.commit() login_user(user) session.permanent = True return redirect(url_for('home')) print(user_info) return redirect(url_for('home'))
def google_auth(): google = oauth.create_client('google') redirect_uri = url_for('authorize', _external = True) return google.authorize_redirect(redirect_uri)