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
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
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
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
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