Skip to content

Commit c0c75c7

Browse files
committed
Adds env var SECRET_KEY_DIR support
1 parent 9191d7a commit c0c75c7

File tree

1 file changed

+13
-3
lines changed
  • src/backend/base/langflow/services/settings

1 file changed

+13
-3
lines changed

src/backend/base/langflow/services/settings/auth.py

+13-3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
class AuthSettings(BaseSettings):
1515
# Login settings
1616
CONFIG_DIR: str
17+
# This must come before `SECRET_KEY` as Pydantic field validation is performed in the order fields are defined.
18+
SECRET_KEY_DIR: str = Field(
19+
default="",
20+
description="Directory for local secret key file. If not provided, CONFIG_DIR will be used.",
21+
frozen=False,
22+
)
1723
SECRET_KEY: SecretStr = Field(
1824
default=SecretStr(""),
1925
description="Secret key for JWT. If not provided, a random one will be generated.",
@@ -81,12 +87,16 @@ def validate_superuser(cls, value, info):
8187
@classmethod
8288
def get_secret_key(cls, value, info):
8389
config_dir = info.data.get("CONFIG_DIR")
90+
secret_key_dir = info.data.get("SECRET_KEY_DIR")
8491

85-
if not config_dir:
86-
logger.debug("No CONFIG_DIR provided, not saving secret key")
92+
if not config_dir and not secret_key_dir:
93+
logger.debug("No CONFIG_DIR or SECRET_KEY_DIR provided, not saving secret key")
8794
return value or secrets.token_urlsafe(32)
8895

89-
secret_key_path = Path(config_dir) / "secret_key"
96+
if secret_key_dir:
97+
secret_key_path = Path(secret_key_dir).expanduser() / "secret_key"
98+
else:
99+
secret_key_path = Path(config_dir) / "secret_key"
90100

91101
if value:
92102
logger.debug("Secret key provided")

0 commit comments

Comments
 (0)