def login(provider_id): """Starts the provider login OAuth flow""" provider = get_provider_or_404(provider_id) callback_url = get_authorize_callback('oauth.login', provider_id) post_login = request.form.get('next', get_post_login_redirect()) session['post_oauth_login_url'] = post_login return provider.authorize(callback_url)
def post_to_facebook(): """ Post a message to facebook. @login_required :return: status(True: when message sent success. | False: when message sent failed.) """ provider = get_provider_or_404('facebook') api = provider.get_api() callback = api.put_object("me", "feed", message=request.form.get('content')) status = False if callback is not None: status = True return {'status': status}
def register(provider_id=None): if current_user.is_authenticated(): return redirect(request.referrer or '/') form = RegisterForm() if provider_id: provider = get_provider_or_404(provider_id) connection_values = session.get('failed_login_connection', None) else: provider = None connection_values = None if form.validate_on_submit(): ds = current_app.extensions['security'].datastore user = ds.create_user(email=form.email.data, password=form.password.data) ds.commit() # See if there was an attempted social login prior to registering # and if so use the provider connect_handler to save a connection connection_values = session.pop('failed_login_connection', None) if connection_values: connection_values['user_id'] = user.id connect_handler(connection_values, provider) if login_user(user): ds.commit() flash('Account created successfully', 'info') return redirect(url_for('website.index')) return render_template('thanks.html', user=user) login_failed = int(request.args.get('login_failed', 0)) return render_template('register.html', form=form, provider=provider, login_failed=login_failed, connection_values=connection_values)
def registration(): """ Register user. :return: """ provider_id = request.form.get('provider_id', None) data = request.form data = MultiDict() for k in request.form: data.add(k, request.form.get(k, None)) print("provider_id : "+str(provider_id)) if provider_id: data.pop('provider_id') provider = get_provider_or_404(provider_id) connection_values = session.get('failed_login_connection', None) else: provider = None connection_values = None if data: form = RegistrationForm(MultiDict(data)) else: form = RegistrationForm() if users.is_authenticated(): return jsonify(), 400 if form.validate_on_submit(): user = users.create_user(**data) # See if there was an attempted social login prior to registering # and if so use the provider connect_handler to save a connection connection_values = session.pop('failed_login_connection', None) if connection_values and provider_id: connection_values['user_id'] = user.id connect_handler(connection_values, provider) if user: login_user(user) status = users.is_authenticated() email = users.me().email if status else "" return jsonify(status=status, email=email)
def registration(): """ Register user. :return: """ provider_id = request.form.get('provider_id', None) data = request.form data = MultiDict() for k in request.form: data.add(k, request.form.get(k, None)) print("provider_id : " + str(provider_id)) if provider_id: data.pop('provider_id') provider = get_provider_or_404(provider_id) connection_values = session.get('failed_login_connection', None) else: provider = None connection_values = None if data: form = RegistrationForm(MultiDict(data)) else: form = RegistrationForm() if users.is_authenticated(): return jsonify(), 400 if form.validate_on_submit(): user = users.create_user(**data) # See if there was an attempted social login prior to registering # and if so use the provider connect_handler to save a connection connection_values = session.pop('failed_login_connection', None) if connection_values and provider_id: connection_values['user_id'] = user.id connect_handler(connection_values, provider) if user: login_user(user) status = users.is_authenticated() email = users.me().email if status else "" return jsonify(status=status, email=email)