def post(self): form = auth_forms.SignupForm(request.form) message = None registered = False if form.validate(): password, salt = auth_utils.encode_password(form.password.data) current_user = auth_models.WTUser.all().filter('email', form.email.data).count() if not current_user: new_user = auth_models.WTUser(username=form.username.data, email=form.email.data, password=password, salt=salt) new_user.save() if new_user: registered = True subject = "Welcome to Web Tournaments" body = mail.generate_email_body("email/auth/registration_email.txt", username=new_user.username) mail.send_email(new_user.email, subject, body) flask_login.login_user(new_user) if current_user: message = "Whoops! An account has already been registered with that email." if form.errors: message = form.errors response = json.dumps({'registered': registered, 'error_message': message}) return response
def post(self): form = auth_forms.LoginForm(request.form) authorized = False message = None if form.validate(): authorized = auth_utils.check_password(form.password.data, form.email.data) if not authorized: message = "Invalid Email / Password" else: user = auth_models.WTUser.get_user_by_email(form.email.data) flask_login.login_user(user, remember=form.remember_me.data) else: message = "Invalid Email / Password" next_url = '/shipping/package_list' response = json.dumps( { 'loggedin': authorized, 'error_message': message, 'next_url': next_url }) return response
def post(self): form = auth_forms.SignupForm(request.form) message = None registered = False if form.validate(): password, salt = auth_utils.encode_password(form.password.data) current_user = auth_models.WTUser.all().filter('email', form.email.data).count() if not current_user: new_user = auth_models.WTUser(email=form.email.data, password=password, salt=salt) new_user.save() if new_user: registered = True subject = "Welcome to BoxTrackr" body = mail.generate_email_body("email/auth/registration_email.html") mail.send_email(new_user.email, subject, body) flask_login.login_user(new_user) if current_user: message = "current_user" if form.errors: message = form.errors response = json.dumps({'registered': registered, 'error_message': message}) return response
def post(self): form = auth_forms.LoginForm(request.form) error = None loggedin = False message = None if form.validate(): loggedin = auth_utils.check_password(form.password.data, form.email.data) if not loggedin: message = "Invalid Email / Password" else: flask_login.login_user(auth_models.WTUser.all().filter('email =', form.email.data).fetch(1)[0], remember=form.remember_me.data) next_url = '/tournament/list' response = json.dumps({'loggedin': loggedin, 'error_message': message, 'next_url': next_url}) return response
def get(self, other): # Setting the oauth token in the session session['oauth_token'] = str(self.get('access_token', '')) # Receiving the user info from Facebook me = facebook.get('/me') # Checking for the user associated with the user's facebook ID user = auth_models.WTUser.get_user_by_facebook_id(me.data['id']) # If there is no record of this Facebook user logging in before, just make an account if not user: user = auth_models.WTUser(name=me.data['name'], facebook_id=me.data['id'], email=me.data['email']) user.put() # Log the user in if user: flask_login.login_user(user) return redirect('/')
def get(self, other): # Setting the oauth token in the session session['oauth_token'] = str(self.get('access_token', '')) access_token = session['oauth_token'] from urllib2 import Request, urlopen, URLError headers = {'Authorization': 'OAuth '+ access_token} req = Request('https://www.googleapis.com/oauth2/v1/userinfo', None, headers) try: res = urlopen(req) if res: output = json.loads(res.read()) if 'email' in output: email = output['email'] if email: user = auth_models.WTUser.get_user_by_email(email) if not user: user = auth_models.WTUser(name=email, email=email) user.save() if user: flask_login.login_user(user) except URLError, e: if e.code == 401: # Unauthorized - bad token session.pop('access_token', None) return redirect(url_for('google_login')) return res.read()