From f080c75d6a08a4cd33f78c3881aa9209f6576ea3 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Thu, 19 Oct 2023 10:57:52 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(utils.py):=20add=20padding?= =?UTF-8?q?=20to=20SECRET=5FKEY=20before=20initializing=20Fernet=20to=20en?= =?UTF-8?q?sure=20it=20has=20the=20correct=20length?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/services/auth/utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/services/auth/utils.py b/src/backend/langflow/services/auth/utils.py index 7a27f794d..22fac05a3 100644 --- a/src/backend/langflow/services/auth/utils.py +++ b/src/backend/langflow/services/auth/utils.py @@ -297,10 +297,17 @@ def authenticate_user( return user if verify_password(password, user.password) else None +def add_padding(s): + # Calculate the number of padding characters needed + padding_needed = 4 - len(s) % 4 + return s + "=" * padding_needed + + def get_fernet(settings_service=Depends(get_settings_service)): SECRET_KEY = settings_service.auth_settings.SECRET_KEY # It's important that your secret key is 32 url-safe base64-encoded bytes - fernet = Fernet(SECRET_KEY) + padded_secret_key = add_padding(SECRET_KEY) + fernet = Fernet(padded_secret_key) return fernet