From 0bc4058f23dd52946830fcf3959ccf9ffdffb131 Mon Sep 17 00:00:00 2001 From: Jiang Date: Tue, 24 Feb 2026 17:03:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8A=A0=E5=AF=86=E5=99=A8?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81=E4=BB=8E=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E6=88=96=E9=85=8D=E7=BD=AE=E8=AF=BB=E5=8F=96=E5=AF=86?= =?UTF-8?q?=E9=92=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.local | 9 ++++++++- app/core/encryption.py | 9 +++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.env.local b/.env.local index 2e6e01d..7b56e1c 100644 --- a/.env.local +++ b/.env.local @@ -1,6 +1,7 @@ NETWORK_NAME="tjwater" KEYCLOAK_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApBjdgjImuFfKsZ+FWFlsZSG0Kftduc2o0qA/warFezaYmi8+7fiuuhLErLUbjGPSEU3WpsVxPe5PIs+AJJn/z9uBXXXo/pYggHvp48hlwr6MIYX5xtby7MLM/bHL2ACN4m7FNs/Gilkkbt4515sMFUiwJzd6Wj6FvQdGDDGx/7bVGgiVQRJvrrMZN5zD4i8cFiTQIcGKbURJjre/zWWiA+7gEwArp9ujjBuaINooiQLQM39C9Z5QJcp5nhaztOBiJJgiJOHi5MLpIhI1p1ViVBXKXRMuPhtTXLAz+r/sC44XZS/6V8uUPuLNin9o0jHk/CqJ3GkK3xJBQoWgplkwuQIDAQAB\n-----END PUBLIC KEY-----" -KEYCLOAK_ALGORITHM=RS256 +KEYCLOAK_ALGORITHM="RS256" +KEYCLOAK_AUDIENCE="account" DB_NAME="tjwater" DB_HOST="192.168.1.114" @@ -13,3 +14,9 @@ TIMESCALEDB_DB_HOST="192.168.1.114" TIMESCALEDB_DB_PORT="5433" TIMESCALEDB_DB_USER="tjwater" TIMESCALEDB_DB_PASSWORD="Tjwater@123456" + +METADATA_DB_NAME="system_hub" +METADATA_DB_HOST="192.168.1.114" +METADATA_DB_PORT="5432" +METADATA_DB_USER="tjwater" +METADATA_DB_PASSWORD="Tjwater@123456" \ No newline at end of file diff --git a/app/core/encryption.py b/app/core/encryption.py index 7d4097f..bc54147 100644 --- a/app/core/encryption.py +++ b/app/core/encryption.py @@ -3,6 +3,8 @@ from typing import Optional import base64 import os +from app.core.config import settings + class Encryptor: """ 使用 Fernet (对称加密) 实现数据加密/解密 @@ -17,10 +19,10 @@ class Encryptor: key: 加密密钥,如果为 None 则从环境变量读取 """ if key is None: - key_str = os.getenv("ENCRYPTION_KEY") + key_str = os.getenv("ENCRYPTION_KEY") or settings.ENCRYPTION_KEY if not key_str: raise ValueError( - "ENCRYPTION_KEY not found in environment variables. " + "ENCRYPTION_KEY not found in environment variables or .env. " "Generate one using: Encryptor.generate_key()" ) key = key_str.encode() @@ -73,6 +75,9 @@ class Encryptor: # 全局加密器实例(懒加载) _encryptor: Optional[Encryptor] = None +def is_encryption_configured() -> bool: + return bool(os.getenv("ENCRYPTION_KEY") or settings.ENCRYPTION_KEY) + def get_encryptor() -> Encryptor: """获取全局加密器实例""" global _encryptor