Exemple #1
0
 def get(self):
     # get the auth token
     auth_header = request.headers.get("Authorization")
     if auth_header:
         try:
             auth_token = auth_header.split(" ")[1]
         except IndexError:
             responseObject = {
                 "status": "fail",
                 "message": "Bearer token malformed.",
             }
             return make_response(jsonify(responseObject)), 401
     else:
         auth_token = None
     if auth_token:
         resp = User.decode_auth_token(auth_token)
         if not isinstance(resp, str):
             user = User.query.filter_by(id=resp).first()
             responseObject = {
                 "status": "success",
                 "data": {
                     "user_id": user.id,
                     "username": user.username,
                     "registered_on": user.registered_on,
                 },
             }
             return make_response(jsonify(responseObject)), 200
         responseObject = {"status": "fail", "message": resp}
         return make_response(jsonify(responseObject)), 401
     else:
         responseObject = {
             "status": "fail",
             "message": "Provide a valid auth token.",
         }
         return make_response(jsonify(responseObject)), 401
Exemple #2
0
 def post(self):
     # get auth token
     auth_header = request.headers.get('Authorization')
     if auth_header:
         auth_token = auth_header.split(" ")[1]
     else:
         auth_token = ''
     if auth_token:
         resp = User.decode_auth_token(auth_token)
         if not isinstance(resp, str):
             # mark the token as blacklisted
             blacklist_token = BlacklistToken(token=auth_token)
             try:
                 # insert the token
                 db.session.add(blacklist_token)
                 db.session.commit()
                 responseObject = {
                     'status': 'success',
                     'message': 'Successfully logged out.'
                 }
                 return make_response(jsonify(responseObject)), 200
             except Exception as e:
                 responseObject = {'status': 'fail', 'message': e}
                 return make_response(jsonify(responseObject)), 200
         else:
             responseObject = {'status': 'fail', 'message': resp}
             return make_response(jsonify(responseObject)), 401
     else:
         responseObject = {
             'status': 'fail',
             'message': 'Provide a valid auth token.'
         }
         return make_response(jsonify(responseObject)), 403
Exemple #3
0
 def wrap(*args, **kwargs):
     auth_header = request.headers.get("Authorization")
     if auth_header:
         try:
             auth_token = auth_header.split(" ")[1]
         except IndexError:
             responseObject = {
                 "status": "fail",
                 "message": "Bearer token malformed.",
             }
             return make_response(jsonify(responseObject)), 401
     else:
         auth_token = None
     if auth_token:
         resp = User.decode_auth_token(auth_token)
         if not isinstance(resp, str):
             return function(*args, **kwargs)
         responseObject = {"status": "fail", "message": resp}
         return make_response(jsonify(responseObject)), 401
     else:
         responseObject = {
             "status": "fail",
             "message": "Provide a valid auth token.",
         }
         return make_response(jsonify(responseObject)), 401
Exemple #4
0
    def test_decode_auth_token(self):
        user = User(email='*****@*****.**', password='******')
        db.session.add(user)
        db.session.commit()
        auth_token = user.encode_auth_token(user.id)
        self.assertTrue(isinstance(auth_token, bytes))

        self.assertTrue(
            User.decode_auth_token(auth_token.decode("utf-8")) == 1)
 def post(self):
     # get auth token
     auth_header = request.headers.get("Authorization")
     if auth_header:
         try:
             auth_token = auth_header.split(" ")[1]
         except IndexError:
             responseObject = {
                 "status": "fail",
                 "message": "Bearer token malformed.",
             }
             return make_response(jsonify(responseObject)), 401
     else:
         auth_token = None
     if auth_token:
         resp = User.decode_auth_token(auth_token)
         if not isinstance(resp, str):
             # mark the token as blacklisted
             blacklist_token = BlacklistToken(token=auth_token)
             try:
                 # insert the token
                 db.session.add(blacklist_token)
                 db.session.commit()
                 responseObject = {
                     "status": "success",
                     "message": "Successfully logged out.",
                 }
                 return make_response(jsonify(responseObject)), 200
             except Exception as e:
                 responseObject = {"status": "fail", "message": e}
                 return make_response(jsonify(responseObject)), 500
         else:
             responseObject = {"status": "fail", "message": resp}
             return make_response(jsonify(responseObject)), 401
     else:
         responseObject = {
             "status": "fail",
             "message": "Provide a valid auth token.",
         }
         return make_response(jsonify(responseObject)), 403
Exemple #6
0
 def get(self):
     # get the auth token
     auth_header = request.headers.get('Authorization')
     if auth_header:
         try:
             auth_token = auth_header.split(" ")[1]
         except IndexError:
             responseObject = {
                 'status': 'fail',
                 'message': 'Bearer token malformed.'
             }
             return make_response(jsonify(responseObject)), 401
     else:
         auth_token = ''
     if auth_token:
         resp = User.decode_auth_token(auth_token)
         if not isinstance(resp, str):
             user = User.query.filter_by(id=resp).first()
             responseObject = {
                 'status': 'success',
                 'data': {
                     'user_id': user.id,
                     'email': user.email,
                     'admin': user.admin,
                     'registered_on': user.registered_on
                 }
             }
             return make_response(jsonify(responseObject)), 200
         responseObject = {'status': 'fail', 'message': resp}
         return make_response(jsonify(responseObject)), 401
     else:
         responseObject = {
             'status': 'fail',
             'message': 'Provide a valid auth token.'
         }
         return make_response(jsonify(responseObject)), 401