def facebook_authorized(resp): """Callback that is fired by facebook after user acceptance""" if resp is None: return "Access denied: reason=%s error=%s" % ( request.values["error_reason"], request.values["error_description"], ) # This is the flag that says that a user is logged in from a social # network! print "========>>>>> OAUTH_TOKEN" session["oauth_token"] = (resp["access_token"], "") # Let's log the user in if he/she has already signed up. userdata = facebook.get("/me") username = userdata.data["email"] print "LOGANDO VIA FACE:", username try: auth.login(username, None, fromsocial=True) print "FACE LOGADO!" except auth.UserNotFound: print "NAO LOGADO, CADASTRANDO..." resp = make_response(redirect(url_for("auth.signup"))) resp.set_cookie("connect_type", "social_f") return resp resp = make_response(redirect(url_for("index"))) resp.set_cookie("connect_type", "social_f") return resp
def facebook_authorized(resp): """Callback that is fired by facebook after user acceptance""" if resp is None: return 'Access denied: reason=%s error=%s' % ( request.values['error_reason'], request.values['error_description']) # This is the flag that says that a user is logged in from a social # network! print "========>>>>> OAUTH_TOKEN" session['oauth_token'] = (resp['access_token'], '') # Let's log the user in if he/she has already signed up. userdata = facebook.get('/me') username = userdata.data['email'] print "LOGANDO VIA FACE:", username try: auth.login(username, None, fromsocial=True) print "FACE LOGADO!" except auth.UserNotFound: print "NAO LOGADO, CADASTRANDO..." resp = make_response(redirect(url_for('auth.signup'))) resp.set_cookie('connect_type', 'social_f') return resp resp = make_response(redirect(url_for('index'))) resp.set_cookie('connect_type', 'social_f') return resp
def twitter_authorized(resp): """Callback that is fired by twitter after user acceptance""" print "@twitter.authorized_handler <<<<==========" next_url = request.args.get('next') or url_for('auth.login') if resp is None: print "NAO <<<<==========" flash(u'You denied the request to sign in.') return redirect(next_url) print 'RESP=======>', dir(resp), resp # This is the flag that says that a user is logged in from a social # network! print "========>>>>> OAUTH_TOKEN TWITTER" session['twitter_token'] = ( resp['oauth_token'], resp['oauth_token_secret'] ) username = resp['screen_name'] print "LOGANDO VIA TWITTER:", username try: auth.login(username, None, fromsocial=True) print "TWITTER LOGADO!" except auth.UserNotFound: print "NAO LOGADO, CADASTRANDO TWITTER..." session['tmp_twitter_id'] = username resp = make_response( redirect(url_for('auth.signup')) ) resp.set_cookie('connect_type', 'social_t') return resp resp = make_response( redirect(url_for('index')) ) resp.set_cookie('connect_type', 'social_t') return resp
def twitter_authorized(resp): """Callback that is fired by twitter after user acceptance""" print "@twitter.authorized_handler <<<<==========" next_url = request.args.get('next') or url_for('auth.login') if resp is None: print "NAO <<<<==========" flash(u'You denied the request to sign in.') return redirect(next_url) print 'RESP=======>', dir(resp), resp # This is the flag that says that a user is logged in from a social # network! print "========>>>>> OAUTH_TOKEN TWITTER" session['twitter_token'] = (resp['oauth_token'], resp['oauth_token_secret']) username = resp['screen_name'] print "LOGANDO VIA TWITTER:", username try: auth.login(username, None, fromsocial=True) print "TWITTER LOGADO!" except auth.UserNotFound: print "NAO LOGADO, CADASTRANDO TWITTER..." session['tmp_twitter_id'] = username resp = make_response(redirect(url_for('auth.signup'))) resp.set_cookie('connect_type', 'social_t') return resp resp = make_response(redirect(url_for('index'))) resp.set_cookie('connect_type', 'social_t') return resp
def login(): """Renders the login form and calls login machinery""" error = None if request.method == 'POST': reqv = request.values.get try: auth.login(reqv('username'), reqv('password')) nexturl = request.values.get('next') if nexturl: return redirect(nexturl) except auth.AuthError, exc: error = exc.__class__.__name__
def logon(): """Logs the user in and returns the user object in JSON format""" username = request.values.get("username") password = request.values.get("password") gonext = True if username and password: try: user = authapi.login(username, password) except authapi.UserNotFound: flash(_(u"Wrong user or password"), "alert-error") gonext = False except authapi.UserAndPasswordMissmatch: flash(_(u"Wrong user or password"), "alert-error") gonext = False # else: # msg.ok({ 'user': user }) # flash(_(u'Login successfuly!'), 'alert-success') else: flash(_(u"Username or password missing"), "alert-error") gonext = False formcad = social(SignupForm) next = request.values.get("next", default="") if next is not None and gonext: return redirect(next) else: menus = fromcache("menuprincipal") or tocache( "menuprincipal", wordpress.exapi.getMenuItens(menu_slug="menu-principal") ) try: twitter_hash_cabecalho = utils.twitts() except KeyError: twitter_hash_cabecalho = "" # if request.referrer: # return redirect(request.referrer) # else: # return render_template('login.html', form=formcad, next=next) return render_template( "login.html", form=formcad, next=next, sidebar=wordpress.getSidebar, menu=menus, twitter_hash_cabecalho=twitter_hash_cabecalho, )
def logon(): """Logs the user in and returns the user object in JSON format""" username = request.values.get('username') password = request.values.get('password') gonext = True if username and password: try: user = authapi.login(username, password) except authapi.UserNotFound: flash(_(u'Wrong user or password'), 'alert-error') gonext = False except authapi.UserAndPasswordMissmatch: flash(_(u'Wrong user or password'), 'alert-error') gonext = False # else: # msg.ok({ 'user': user }) # flash(_(u'Login successfuly!'), 'alert-success') else: flash(_(u'Username or password missing'), 'alert-error') gonext = False formcad = social(SignupForm) next = request.values.get('next',default="") if next is not None and gonext: return redirect(next) else: menus = fromcache('menuprincipal') or tocache('menuprincipal', wordpress.exapi.getMenuItens(menu_slug='menu-principal') ) try: twitter_hash_cabecalho = utils.twitts() except KeyError: twitter_hash_cabecalho = "" # if request.referrer: # return redirect(request.referrer) # else: # return render_template('login.html', form=formcad, next=next) return render_template('login.html', form=formcad, next=next, sidebar=wordpress.getSidebar, menu=menus, twitter_hash_cabecalho=twitter_hash_cabecalho)
def signup_continuation(): '''Show the second part of registration''' print "/signup/continuation/ ===========================" user = None username = None if authapi.is_authenticated() and not 'byconfirm' in session: print "esta logado, indo pro profile ===========================" return redirect(url_for('.profile')) elif 'byconfirm' in session: print "byconfirm in session =========================== ", session['byconfirm'] user = User.query.filter_by(username=session['byconfirm']).one() # if user.get_meta('twitteruser'): # username = user.get_meta('twitter') # else: # username = user.username username = user.username del session['byconfirm'] elif request.method == 'POST': print "vindo do post ===========================", request.form['email'], request.form['username'] if request.form['username']: user = User.query.filter_by(username=request.form['username']).one() else: user = User.query.filter_by(username=request.form['email']).one() username = user.username if user: print "tem user ============================", user data = user.metadata() data['social'] = ('facebookuser' in data and data['facebookuser']) or \ ('twitteruser' in data and data['twitteruser']) print "DATA DEFAULT", data form = social(SignupForm, default=data) else: print "NAO tem user ============================" return redirect(url_for('auth.login')) form = social(SignupForm) if 'password_confirmation' in form: #Remove not needed field del form.password_confirmation if request.method == 'POST' and form.validate_on_submit(): # user = authapi.authenticated_user() print "form validado ============================" meta = form.meta dget = meta.pop password = dget('password') fromsocial = form.social or \ ('facebookuser' in data and data['facebookuser']) or \ ('twitteruser' in data and data['twitteruser']) try: print "FROMSOCIAL", fromsocial authapi.login(user.username, password, fromsocial) except authapi.UserNotFound: flash(_(u'Wrong user or password'), 'alert-error') except authapi.UserAndPasswordMissmatch: flash(_(u'Wrong password'), 'alert-error') else: user = authapi.authenticated_user() # First, the specific ones # user.name = mget('name') # user.email = mget('email') # And then, the meta ones, stored in `UserMeta' for key, val in form.meta.items(): user.set_meta(key, val) flash(_(u'Your registration is complete'), 'alert-success') return redirect(url_for('auth.profile')) else: print "ERRO NO FORM VALIDATION", form.errors menus = fromcache('menuprincipal') or tocache('menuprincipal', wordpress.exapi.getMenuItens(menu_slug='menu-principal') ) try: twitter_hash_cabecalho = utils.twitts() except KeyError: twitter_hash_cabecalho = "" return render_template( 'signup_second.html', form=form, menu=menus, twitter_hash_cabecalho=twitter_hash_cabecalho, sidebar=wordpress.getSidebar, username=username )
def contribui(slug): obra = fromcache("obra-" + slug) or tocache("obra-" + slug, _get_obras(slug)[0]) if not obra: return abort(404) r = {'status':'ok', 'message':'Sua contibuição foi aceita com sucesso'} user_recent = False if not authapi.is_authenticated(): # r = {'status':'not_logged'} """ Se não está autenticado, tenta achar o usuário pelo email, e acessar com a senha inserida no formulario. Se não, cadastra o camarada, com o nome e email informados, gerando uma senha para ele e enviando o email de boas vindas. """ email = request.form['email'] if request.form['senha']: #Informou a senha do cadastro já existente # username = email # senha = request.form['senha'] #Efetua o login print "Usuario e senha informado... logando!" username = request.values.get('email') senha = request.values.get('senha') print "tentando logar com", username, senha try: user = authapi.login(username, senha) r = {'status':'ok', 'message':'Sua contibuição foi aceita com sucesso', 'refresh': True} except authapi.UserNotFound: r = {'status':'nok', 'message':_(u'Wrong user or password')} return dumps(r) except authapi.UserAndPasswordMissmatch: r = {'status':'nok', 'message':_(u'Wrong user or password')} return dumps(r) elif request.form['nome']: print "Nome informado... cadastrando..." #Informou a senha para cadastro nome = request.form['nome'] telefone = request.form['telefone'] if 'telefone' in request.form else "" novasenha = request.form['newPassword'] if 'newPassword' in request.form else "" if not novasenha: # novasenha = "gabinetedigital" novasenha = ''.join(random.choice(string.printable) for x in range(8)) # print nome, '-', email, '-', novasenha try: user = authapi.create_user(nome, email, unicode(novasenha), email) r = {'status':'ok', 'message':'Sua contibuição foi aceita com sucesso. Verifique seu email para confirmar o cadastro.'} user_recent = True send_welcome_email(user) send_password(user.email, novasenha) except authapi.UserExistsUnconfirmed, e: r = {'status':'nok', 'message':u'Seu usuário precisa ser confirmado, veja seu email!'} return dumps(r) if telefone: user.set_meta('phone', telefone) dbsession.commit() else: r = {'status':'nok', 'message':u'É necessário informar uma senha ou dados para cadastro.'}
def signup_continuation(): '''Show the second part of registration''' print "/signup/continuation/ ===========================" user = None username = None if authapi.is_authenticated() and not 'byconfirm' in session: print "esta logado, indo pro profile ===========================" return redirect(url_for('.profile')) elif 'byconfirm' in session: print "byconfirm in session =========================== ", session['byconfirm'] user = User.query.filter_by(username=session['byconfirm']).one() # if user.get_meta('twitteruser'): # username = user.get_meta('twitter') # else: # username = user.username username = user.username del session['byconfirm'] elif request.method == 'POST': print "vindo do post ===========================", request.form['email'], request.form['username'] if request.form['username']: user = User.query.filter_by(username=request.form['username']).one() else: user = User.query.filter_by(username=request.form['email']).one() username = user.username if user: print "tem user ============================", user data = user.metadata() data['social'] = ('facebookuser' in data and data['facebookuser']) or \ ('twitteruser' in data and data['twitteruser']) print "DATA DEFAULT", data form = social(SignupForm, default=data) else: print "NAO tem user ============================" return redirect(url_for('auth.login')) form = social(SignupForm) if 'password_confirmation' in form: #Remove not needed field del form.password_confirmation if request.method == 'POST' and form.validate_on_submit(): # user = authapi.authenticated_user() print "form validado ============================" meta = form.meta dget = meta.pop password = dget('password') fromsocial = form.social or \ ('facebookuser' in data and data['facebookuser']) or \ ('twitteruser' in data and data['twitteruser']) try: print "FROMSOCIAL", fromsocial authapi.login(user.username, password, fromsocial) except authapi.UserNotFound: flash(_(u'Wrong user or password'), 'alert-error') except authapi.UserAndPasswordMissmatch: flash(_(u'Wrong password'), 'alert-error') else: user = authapi.authenticated_user() # First, the specific ones # user.name = mget('name') # user.email = mget('email') # And then, the meta ones, stored in `UserMeta' for key, val in form.meta.items(): user.set_meta(key, val) flash(_(u'Your registration is complete'), 'alert-success') return redirect(url_for('auth.profile')) else: print "ERRO NO FORM VALIDATION", form.errors menus = fromcache('menuprincipal') or tocache('menuprincipal', wordpress.exapi.getMenuItens(menu_slug='menu-principal') ) try: twitter_hash_cabecalho = utils.twitts() except KeyError: twitter_hash_cabecalho = "" return render_template( 'signup_second.html', form=form, menu=menus, twitter_hash_cabecalho=twitter_hash_cabecalho, username=username )
def signup_continuation(): """Show the second part of registration""" print "/signup/continuation/ ===========================" user = None username = None if authapi.is_authenticated() and not "byconfirm" in session: print "esta logado, indo pro profile ===========================" return redirect(url_for(".profile")) elif "byconfirm" in session: print "byconfirm in session =========================== ", session["byconfirm"] user = User.query.filter_by(username=session["byconfirm"]).one() # if user.get_meta('twitteruser'): # username = user.get_meta('twitter') # else: # username = user.username username = user.username del session["byconfirm"] elif request.method == "POST": print "vindo do post ===========================", request.form["email"], request.form["username"] if request.form["username"]: user = User.query.filter_by(username=request.form["username"]).one() else: user = User.query.filter_by(username=request.form["email"]).one() username = user.username if user: print "tem user ============================", user data = user.metadata() data["social"] = ("facebookuser" in data and data["facebookuser"]) or ( "twitteruser" in data and data["twitteruser"] ) print "DATA DEFAULT", data form = social(SignupForm, default=data) else: print "NAO tem user ============================" return redirect(url_for("auth.login")) form = social(SignupForm) if "password_confirmation" in form: # Remove not needed field del form.password_confirmation if request.method == "POST" and form.validate_on_submit(): # user = authapi.authenticated_user() print "form validado ============================" meta = form.meta dget = meta.pop password = dget("password") fromsocial = ( form.social or ("facebookuser" in data and data["facebookuser"]) or ("twitteruser" in data and data["twitteruser"]) ) try: print "FROMSOCIAL", fromsocial authapi.login(user.username, password, fromsocial) except authapi.UserNotFound: flash(_(u"Wrong user or password"), "alert-error") except authapi.UserAndPasswordMissmatch: flash(_(u"Wrong password"), "alert-error") else: user = authapi.authenticated_user() # First, the specific ones # user.name = mget('name') # user.email = mget('email') # And then, the meta ones, stored in `UserMeta' for key, val in form.meta.items(): user.set_meta(key, val) flash(_(u"Your registration is complete"), "alert-success") return redirect(url_for("auth.profile")) else: print "ERRO NO FORM VALIDATION", form.errors menus = fromcache("menuprincipal") or tocache( "menuprincipal", wordpress.exapi.getMenuItens(menu_slug="menu-principal") ) try: twitter_hash_cabecalho = utils.twitts() except KeyError: twitter_hash_cabecalho = "" return render_template( "signup_second.html", form=form, menu=menus, twitter_hash_cabecalho=twitter_hash_cabecalho, sidebar=wordpress.getSidebar, username=username, )
def contribui(slug): obra = fromcache("obra-" + slug) or tocache("obra-" + slug, _get_obras(slug)[0]) if not obra: return abort(404) r = {'status': 'ok', 'message': 'Sua contibuição foi aceita com sucesso'} user_recent = False if not authapi.is_authenticated(): # r = {'status':'not_logged'} """ Se não está autenticado, tenta achar o usuário pelo email, e acessar com a senha inserida no formulario. Se não, cadastra o camarada, com o nome e email informados, gerando uma senha para ele e enviando o email de boas vindas. """ email = request.form['email'] if request.form['senha']: #Informou a senha do cadastro já existente # username = email # senha = request.form['senha'] #Efetua o login print "Usuario e senha informado... logando!" username = request.values.get('email') senha = request.values.get('senha') print "tentando logar com", username, senha try: user = authapi.login(username, senha) r = { 'status': 'ok', 'message': 'Sua contibuição foi aceita com sucesso', 'refresh': True } except authapi.UserNotFound: r = {'status': 'nok', 'message': _(u'Wrong user or password')} return dumps(r) except authapi.UserAndPasswordMissmatch: r = {'status': 'nok', 'message': _(u'Wrong user or password')} return dumps(r) elif request.form['nome']: print "Nome informado... cadastrando..." #Informou a senha para cadastro nome = request.form['nome'] telefone = request.form[ 'telefone'] if 'telefone' in request.form else "" novasenha = request.form[ 'newPassword'] if 'newPassword' in request.form else "" if not novasenha: # novasenha = "gabinetedigital" novasenha = ''.join( random.choice(string.printable) for x in range(8)) # print nome, '-', email, '-', novasenha try: user = authapi.create_user(nome, email, unicode(novasenha), email) r = { 'status': 'ok', 'message': 'Sua contibuição foi aceita com sucesso. Verifique seu email para confirmar o cadastro.' } user_recent = True send_welcome_email(user) send_password(user.email, novasenha) except authapi.UserExistsUnconfirmed, e: r = { 'status': 'nok', 'message': u'Seu usuário precisa ser confirmado, veja seu email!' } return dumps(r) if telefone: user.set_meta('phone', telefone) dbsession.commit() else: r = { 'status': 'nok', 'message': u'É necessário informar uma senha ou dados para cadastro.' }