def login(): if g.user is not None: return redirect(oid.get_next_url()) if request.method == 'POST': openid = request.form.get('openid') if openid: return oid.try_login(openid, ask_for=['email', 'fullname', 'nickname']) return render_template('login.html', next=oid.get_next_url(), error=oid.fetch_error())
def create_or_login(resp): usrSvc = UserService() session['openid'] = resp.identity_url user = usrSvc.GetByOpenID(openid=resp.identity_url) if user is not None: flash('Successfully Logged In') g.user = user return redirect(oid.get_next_url()) return redirect(url_for('create_profile', next=oid.get_next_url(), name=resp.fullname or resp.nickname, email=resp.email))
def create_profile(): if g.user is not None or 'openid' not in session: return redirect(url_for('index')) if request.method == 'POST': name = request.form['name'] email = request.form['email'] if not name: flash(u'Error: You must provide a name') elif '@' not in email: flash(u'Error: you have to provide a valid email') else: flash(u'Profile successfully created') usrSvc = UserService() usrSvc.Create(name, email, session['openid']) return redirect(oid.get_next_url()) return render_template('create_profile.html', next_url=oid.get_next_url())
def logout(): session.pop('openid', None) flash(u'You have been signed out') return redirect(oid.get_next_url())