def authorized():
    resp = google.authorized_response()
    if resp is None:
        message = ("Access denied: reson={} error={}"
                   .format(request.args['error_reason'],
                           request.args['error_description']))
        return abort(500, message)

    session['google_token'] = (resp['access_token'], '')
    me = google.get('userinfo')
    email = me.data['email']
    user_obj = db.user(email)
    if user_obj is None:
        return abort(500, "email not white listed: {}".format(email))
    login_user(user_obj)
    return redirect(request.args.get('state') or url_for('public.index'))
def load_user(user_id):
    return db.user(user_id)