Spaces:
Building
Building
Update encryption_utils.py
Browse files- encryption_utils.py +19 -4
encryption_utils.py
CHANGED
@@ -1,18 +1,33 @@
|
|
1 |
"""
|
2 |
Flare – Fernet şifreleme yardımcıları
|
3 |
-
|
4 |
-
|
5 |
Anahtar: FLARE_TOKEN_KEY (32-bayt, base64, URL-safe)
|
6 |
"""
|
7 |
|
8 |
import os
|
9 |
from typing import Optional
|
10 |
from cryptography.fernet import Fernet, InvalidToken
|
|
|
11 |
|
12 |
_ENV_KEY = "FLARE_TOKEN_KEY"
|
13 |
|
14 |
def _get_key() -> Fernet:
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
if not key:
|
17 |
raise RuntimeError(f"{_ENV_KEY} ortam değişkeni tanımlanmadı")
|
18 |
return Fernet(key.encode())
|
@@ -33,4 +48,4 @@ def decrypt(value: Optional[str]) -> Optional[str]:
|
|
33 |
try:
|
34 |
return f.decrypt(token.encode()).decode()
|
35 |
except InvalidToken:
|
36 |
-
raise RuntimeError("FLARE_TOKEN_KEY hatalı veya token bozuk")
|
|
|
1 |
"""
|
2 |
Flare – Fernet şifreleme yardımcıları
|
3 |
+
- encrypt(): düz string → "enc:<blob>"
|
4 |
+
- decrypt(): enc:<blob> → düz string (veya enc: yoksa aynen döner)
|
5 |
Anahtar: FLARE_TOKEN_KEY (32-bayt, base64, URL-safe)
|
6 |
"""
|
7 |
|
8 |
import os
|
9 |
from typing import Optional
|
10 |
from cryptography.fernet import Fernet, InvalidToken
|
11 |
+
from config_provider import ConfigProvider
|
12 |
|
13 |
_ENV_KEY = "FLARE_TOKEN_KEY"
|
14 |
|
15 |
def _get_key() -> Fernet:
|
16 |
+
# Check work_mode to determine where to get the key
|
17 |
+
try:
|
18 |
+
cfg = ConfigProvider.get()
|
19 |
+
if cfg.global_config.is_cloud_mode():
|
20 |
+
# Cloud mode - use environment variable directly
|
21 |
+
key = os.getenv(_ENV_KEY)
|
22 |
+
else:
|
23 |
+
# On-premise mode - load from .env file
|
24 |
+
from dotenv import load_dotenv
|
25 |
+
load_dotenv()
|
26 |
+
key = os.getenv(_ENV_KEY)
|
27 |
+
except:
|
28 |
+
# Fallback if ConfigProvider not available yet
|
29 |
+
key = os.getenv(_ENV_KEY)
|
30 |
+
|
31 |
if not key:
|
32 |
raise RuntimeError(f"{_ENV_KEY} ortam değişkeni tanımlanmadı")
|
33 |
return Fernet(key.encode())
|
|
|
48 |
try:
|
49 |
return f.decrypt(token.encode()).decode()
|
50 |
except InvalidToken:
|
51 |
+
raise RuntimeError("FLARE_TOKEN_KEY hatalı veya token bozuk")
|