diff --git a/backend/backend/settings/deps/jwt.py b/backend/backend/settings/deps/jwt.py index 839a1960f..f797cbca9 100644 --- a/backend/backend/settings/deps/jwt.py +++ b/backend/backend/settings/deps/jwt.py @@ -10,13 +10,13 @@ # Key configuration for JSON web tokens (JWT) authentication if common.to_bool(os.environ.get("JWT_SECRET_NEEDED", "False")): try: - SECRET_KEY = pathlib.Path(JWT_SECRET_PATH).read_text().strip() + JWT_SECRET_KEY = pathlib.Path(JWT_SECRET_PATH).read_text().strip() except IOError: try: - SECRET_KEY = secrets.token_urlsafe() # uses a "reasonable default" length + JWT_SECRET_KEY = secrets.token_urlsafe() # uses a "reasonable default" length with open(JWT_SECRET_PATH, "w") as fp: - fp.write(SECRET_KEY) + fp.write(JWT_SECRET_KEY) except IOError: raise Exception(f"Cannot open file `{JWT_SECRET_PATH}` for writing.") else: - SECRET_KEY = "unused default value " + secrets.token_urlsafe() + JWT_SECRET_KEY = "unused default value " + secrets.token_urlsafe() diff --git a/backend/users/views/user.py b/backend/users/views/user.py index 78a355bfa..c83a88e8d 100644 --- a/backend/users/views/user.py +++ b/backend/users/views/user.py @@ -187,7 +187,7 @@ def set_password(self, request, *args, **kwargs): username = unquote(kwargs.get("username")) instance = self.user_model.objects.get(username=username) - secret = _xor_secrets(instance.password, force_str(settings.SECRET_KEY)) + secret = _xor_secrets(instance.password, force_str(settings.JWT_SECRET_KEY)) token_validation = _validate_token(token, secret) if token_validation.get("is_valid"): @@ -207,7 +207,7 @@ def verify_token(self, request, *args, **kwargs): username = unquote(kwargs.get("username")) instance = self.user_model.objects.get(username=username) - secret = _xor_secrets(instance.password, force_str(settings.SECRET_KEY)) + secret = _xor_secrets(instance.password, force_str(settings.JWT_SECRET_KEY)) token_validation = _validate_token(token, secret) if token_validation.get("is_valid"): return ApiResponse(data={}, status=status.HTTP_200_OK, headers=self.get_success_headers({})) @@ -221,7 +221,7 @@ def verify_token(self, request, *args, **kwargs): def generate_reset_password_token(self, request, *args, **kwargs): """Returns reset password token. Restricted to Admin request""" instance = self.get_object() - secret = _xor_secrets(instance.password, force_str(settings.SECRET_KEY)) + secret = _xor_secrets(instance.password, force_str(settings.JWT_SECRET_KEY)) jwt_token = jwt.encode( payload={"exp": datetime.datetime.now() + datetime.timedelta(days=7)},