def test_decode_jwt(self):
        """ Verify decode_jwt_token decodes a token to an id. """

        new_user = add_user(USERNAME, EMAIL, PASSWORD)
        token = new_user.encode_jwt(new_user.id)
        self.assertTrue(isinstance(token, bytes))
        self.assertEqual(User.decode_jwt(token), new_user.id)
Exemple #2
0
    def decorated_function(*args, **kwargs):
        response = {'status': 'fail', 'message': 'Unauthorized'}
        auth_header = request.headers.get('Authorization')
        if not auth_header:
            response['message'] = 'Forbidden'
            return response, 403
        token = auth_header.split(" ")[1]
        sub = User.decode_jwt(token)
        if isinstance(sub, str):
            response['message'] = sub
            return response, 401
        user = User.query.filter_by(id=sub).first()

        if not user or not user.active:
            return response, 401
        return func(sub, *args, **kwargs)
Exemple #3
0
    def decorated_function(*args, **kwargs):
        """ Wrapper

        :param args:
        :param kwargs:
        :return: flask response | function
        """

        auth_header = request.headers.get('Authorization')
        if not auth_header:
            return error_response('Provide a valid token.'), 403
        token = auth_header[7:]
        user_id = User.decode_jwt(token)
        if isinstance(user_id, str):
            return error_response(user_id), 401
        user = User.query.filter_by(id=user_id).first()
        if not user or not user.active:
            return error_response(
                'Something went wrong. Please contact us.'), 401
        return f(user_id, *args, **kwargs)
 def test_decode_jwt(self):
     user = add_user('test','*****@*****.**', 'testpass')
     token = user.encode_jwt(user.id)
     self.assertTrue(isinstance(token, bytes))
     self.assertEqual(User.decode_jwt(token), user.id)