Example #1
0
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 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 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}
Example #5
0
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)
Example #6
0
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)
Example #8
0
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)