Exemple #1
0
def create_or_login(resp):
    openid = resp.identity_url
    print 'create_or_login', resp, openid
    if not isinstance(openid, basestring):
        flash(u'Incorrect or invalid OpenID, could not sign in')
        return redirect(url_for('index'))
    flask.session['openid'] = openid
    try:
        user = User.lookup(resp.identity_url)
        flask.g.user = user
        flash(u'Welcome back, '+user.fullname())
    except UserInvalidId:
        print request.form
        fullname = resp.fullname
        nickname = resp.nickname
        email = resp.email
        user = User.make(openid, fullname, nickname, email)
        flask.g.user = user
        flask.session.permanent = True
        flash(u'Thank you for signing in, '+user.fullname())
    return redirect(url_for('index'))