| @@ -398,6 +398,11 @@ class InnerAPIConfig(BaseSettings): | |||
| default=False, | |||
| ) | |||
| INNER_API_KEY: Optional[str] = Field( | |||
| description="API key for accessing the internal API", | |||
| default=None, | |||
| ) | |||
| class LoggingConfig(BaseSettings): | |||
| """ | |||
| @@ -18,7 +18,7 @@ def enterprise_inner_api_only(view): | |||
| # get header 'X-Inner-Api-Key' | |||
| inner_api_key = request.headers.get("X-Inner-Api-Key") | |||
| if not inner_api_key or inner_api_key != dify_config.INNER_API_KEY_FOR_PLUGIN: | |||
| if not inner_api_key or inner_api_key != dify_config.INNER_API_KEY: | |||
| abort(401) | |||
| return view(*args, **kwargs) | |||
| @@ -100,3 +100,9 @@ def test_flask_configs(example_env_file): | |||
| assert str(config["CODE_EXECUTION_ENDPOINT"]) == "http://sandbox:8194/" | |||
| assert str(URL(str(config["CODE_EXECUTION_ENDPOINT"])) / "v1") == "http://sandbox:8194/v1" | |||
| def test_inner_api_config_exist(): | |||
| config = DifyConfig() | |||
| assert config.INNER_API is False | |||
| assert config.INNER_API_KEY is None | |||