def logout_user(data): if data: auth_token = data.split(" ")[1] else: auth_token = "" if auth_token: resp = User.decode_auth_token(auth_token) if not isinstance(resp, str): return save_token(token=auth_token) else: response_object = { "status": "fail", "message": resp } return response_object, 401 else: response_object = { "status": "fail", "message": "Provide a valid auth token." } return response_object, 403
def get_logged_in_user(new_request): auth_token = new_request.headers.get("Authorization") if auth_token: resp = User.decode_auth_token(auth_token) if isinstance(resp, str): user = User.query.filter_by(public_id=resp).first() if user: response_object = { "status": "success", "data":{ "user_id": resp, "email": user.email, "admin": user.is_admin, "registered_on": str(user.date_registered) } } return response_object, 200 response_object = { "status": "fail", "message": resp } return response_object, 401 else: response_object = { "status": "fail", "message": "Provide a valid auth token" } return response_object, 401
def test_decode_auth_token(self): user = User( first_name = "John", last_name = "Doe", password = "******", date_registered = datetime.datetime.utcnow() ) 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)