Exemplo n.º 1
0
def create_or_login(resp):
    session["openid"] = resp.identity_url
    user = g.user or User.query.filter_by(openid=resp.identity_url).first()
    if user is None:
        return redirect(url_for(".first_login", next=oid.get_next_url(), name=resp.fullname or resp.nickname))
    if user.openid != resp.identity_url:
        user.openid = resp.identity_url
        db_session.commit()
        flash(u"OpenID identity changed")
    else:
        flash(u"Successfully signed in")
    return redirect(oid.get_next_url())
Exemplo n.º 2
0
def first_login():
    if g.user is not None or "openid" not in session:
        return redirect(url_for(".login"))
    if request.method == "POST":
        if "cancel" in request.form:
            del session["openid"]
            flash(u"Login was aborted")
            return redirect(url_for("general.login"))
        db_session.add(User(request.form["name"], session["openid"]))
        db_session.commit()
        flash(u"Successfully created profile and logged in")
        return redirect(oid.get_next_url())
    return render_template("general/first_login.html", next=oid.get_next_url(), openid=session["openid"])
Exemplo n.º 3
0
def change_openid():
    if request.method == "POST":
        if "cancel" in request.form:
            flash(u"Cancelled. The OpenID was not changed.")
            return redirect(oid.get_next_url())
    openid = request.values.get("openid")
    if not openid:
        openid = COMMON_PROVIDERS.get(request.args.get("provider"))
    if openid:
        return oid.try_login(openid)
    error = oid.fetch_error()
    if error:
        flash(u"Error: " + error)
    return render_template("general/change_openid.html", next=oid.get_next_url())
Exemplo n.º 4
0
def login():
    if g.user is not None:
        return redirect(url_for("general.index"))
    if "cancel" in request.form:
        flash(u"Cancelled. The OpenID was not changed.")
        return redirect(oid.get_next_url())
    openid = request.values.get("openid")
    if not openid:
        openid = COMMON_PROVIDERS.get(request.args.get("provider"))
    if openid:
        return oid.try_login(openid, ask_for=["fullname", "nickname"])
    error = oid.fetch_error()
    if error:
        flash(u"Error: " + error)
    return render_template("general/login.html", next=oid.get_next_url())
Exemplo n.º 5
0
def first_login():
    if g.user is not None or 'openid' not in session:
        return redirect(url_for('.login'))
    if request.method == 'POST':
        if 'cancel' in request.form:
            del session['openid']
            flash(u'Login was aborted')
            return redirect(url_for('general.login'))
        db_session.add(User(request.form['name'], session['openid']))
        db_session.commit()
        flash(u'Successfully created profile and logged in')
        return redirect(oid.get_next_url())
    return render_template('general/first_login.html',
                           next=oid.get_next_url(),
                           openid=session['openid'])
Exemplo n.º 6
0
def change_openid():
    if request.method == 'POST':
        if 'cancel' in request.form:
            flash(u'Cancelled. The OpenID was not changed.')
            return redirect(oid.get_next_url())
    openid = request.values.get('openid')
    if not openid:
        openid = COMMON_PROVIDERS.get(request.args.get('provider'))
    if openid:
        return oid.try_login(openid)
    error = oid.fetch_error()
    if error:
        flash(u'Error: ' + error)
    return render_template('general/change_openid.html',
                           next=oid.get_next_url())
Exemplo n.º 7
0
def login():
    if g.user is not None:
        return redirect(url_for('general.index'))
    if 'cancel' in request.form:
        flash(u'Cancelled. The OpenID was not changed.')
        return redirect(oid.get_next_url())
    openid = request.values.get('openid')
    if not openid:
        openid = COMMON_PROVIDERS.get(request.args.get('provider'))
    if openid:
        return oid.try_login(openid, ask_for=['fullname', 'nickname'])
    error = oid.fetch_error()
    if error:
        flash(u'Error: ' + error)
    return render_template('general/login.html', next=oid.get_next_url())
Exemplo n.º 8
0
def change_openid():
    if request.method == 'POST':
        if 'cancel' in request.form:
            flash(u'Cancelled. The OpenID was not changed.')
            return redirect(oid.get_next_url())
    openid = request.values.get('openid')
    if not openid:
        openid = COMMON_PROVIDERS.get(request.args.get('provider'))
    if openid:
        return oid.try_login(openid)
    error = oid.fetch_error()
    if error:
        flash(u'Error: ' + error)
    return render_template('general/change_openid.html',
                           next=oid.get_next_url())
Exemplo n.º 9
0
def first_login():
    if g.user is not None or 'openid' not in session:
        return redirect(url_for('.login'))
    if request.method == 'POST':
        if 'cancel' in request.form:
            del session['openid']
            flash(u'Login was aborted')
            return redirect(url_for('general.login'))
        db_session.add(User(request.form['name'], session['openid']))
        db_session.commit()
        flash(u'Successfully created profile and logged in')
        return redirect(oid.get_next_url())
    return render_template('general/first_login.html',
                           next=oid.get_next_url(),
                           openid=session['openid'])
Exemplo n.º 10
0
def login():
    if g.user is not None:
        return redirect(url_for('general.index'))
    if 'cancel' in request.form:
        flash(u'Cancelled. The OpenID was not changed.')
        return redirect(oid.get_next_url())
    openid = request.values.get('openid')
    if not openid:
        openid = COMMON_PROVIDERS.get(request.args.get('provider'))
    if openid:
        return oid.try_login(openid, ask_for=['fullname', 'nickname'])
    error = oid.fetch_error()
    if error:
        flash(u'Error: ' + error)
    return render_template('general/login.html', next=oid.get_next_url())
Exemplo n.º 11
0
def create_or_login(resp):
    session['openid'] = resp.identity_url
    user = g.user or User.query.filter_by(openid=resp.identity_url).first()
    if user is None:
        return redirect(
            url_for('.first_login',
                    next=oid.get_next_url(),
                    name=resp.fullname or resp.nickname))
    if user.openid != resp.identity_url:
        user.openid = resp.identity_url
        db_session.commit()
        flash(u'OpenID identity changed')
    else:
        flash(u'Successfully signed in')
    return redirect(oid.get_next_url())