Example #1
0
    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
Example #2
0
    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
Example #3
0
 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)