Пример #1
0
def login(jwt):
    # get some data from the json request
    username, password = json.request('username', 'password')

    is_valid = lambda username, password: username and username == password

    if is_valid(username, password):
        token = jwt.encode({'username': username}).decode('utf8')
        response = json.response({'message': 'logged in', 'token': token})
        response.set_cookie('token', token, httponly=True)
        return response
    else:
        return json.response({'message': 'invalid username/password'},
                             status=401)
Пример #2
0
def jwt_context(jwt):
    encoded = request.cookies.get('token')
    if encoded != None:
        data = jwt.decode(encoded)
        context.username = data['username']
    else:
        yield json.response({'message': 'must be logged in!'}, status=403)
Пример #3
0
def catch():
    """
    render APIException to JSON
    """
    try:
        response = yield
    except APIException as exception:
        yield json.response({'message': exception.message},
                            status=exception.status)
Пример #4
0
def logout(username):
    response = json.response({'message': 'logged out'})
    response.set_cookie('token', '', expires=0, httponly=True)
    response.headers['Location'] = '/'
    response.status_code = 307
    return response
Пример #5
0
def index():
    return json.response({'madness': True}, status=200)
Пример #6
0
def describe():
    return json.response({"version": "0.0.1"})