From deceaa38f0258c1812528775c1e7f8ca779150d5 Mon Sep 17 00:00:00 2001 From: Harry Date: Wed, 30 Jul 2025 16:36:27 +0800 Subject: [PATCH] feat: datasource oauth default credentials --- api/services/datasource_provider_service.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/api/services/datasource_provider_service.py b/api/services/datasource_provider_service.py index 597d62582d..c8685dedbf 100644 --- a/api/services/datasource_provider_service.py +++ b/api/services/datasource_provider_service.py @@ -54,7 +54,21 @@ class DatasourceProviderService: ) if not datasource_provider: return {} - return datasource_provider.encrypted_credentials + + encrypted_credentials = datasource_provider.encrypted_credentials + # Get provider credential secret variables + credential_secret_variables = self.extract_secret_variables( + tenant_id=tenant_id, + provider_id=f"{plugin_id}/{provider}", + credential_type=CredentialType.of(datasource_provider.auth_type), + ) + + # Obfuscate provider credentials + copy_credentials = encrypted_credentials.copy() + for key, value in copy_credentials.items(): + if key in credential_secret_variables: + copy_credentials[key] = encrypter.decrypt_token(tenant_id, value) + return copy_credentials def get_real_credential_by_id( self, tenant_id: str, credential_id: str, provider: str, plugin_id: str