Example #1
0
def callback_facebook(resp):
    if resp is None:
        return 'Access denied: reason=%s error=%s' % (
            request.args['error_reason'], request.args['error_description'])
    me = auth.facebook.get('/me')

    user = Usuario.query.filter_by(nickname=me.data['name']).first()
    if user is None:
        user = Usuario(me.data['name'], '')
        user.nickname = me.data['name']
        db.session.add(user)
    user.oauth_token = resp['access_token']
    db.session.commit()

    session['user_id'] = user.id
    g.user = user
    #return 'Logged in as id=%s name=%s redirect=%s' % (me.data['id'], me.data['name'], request.args.get('next'))
    return redirect(url_for('home'))
Example #2
0
def callback_twitter(resp):
    next_url = request.args.get('next') or url_for('home')
    if resp is None:
        flash(u'You denied the request to sign in.')
        return redirect(next_url)

    user = Usuario.query.filter_by(nickname=resp['screen_name']).first()

    if user is None:
        user = Usuario(resp['screen_name'], '')
        user.nickname = resp['screen_name']
        db.session.add(user)

    user.oauth_token = resp['oauth_token']
    user.oauth_token_secret = resp['oauth_token_secret']
    db.session.commit()

    session['user_id'] = user.id
    g.user = user
    flash('You were signed in')
    return redirect(next_url)