@@ -1312,6 +1336,7 @@ else
ApiVersion = credential.ApiVersion,
IsSandbox = credential.IsSandbox,
UseSoapApi = credential.UseSoapApi,
+ GrantType = credential.GrantType,
RefreshToken = credential.RefreshToken,
AccessToken = credential.AccessToken,
TokenExpiry = credential.TokenExpiry
@@ -1533,7 +1558,8 @@ else
ClientSecret = currentRestApiCredential.ClientSecret,
ApiVersion = currentRestApiCredential.ApiVersion,
IsSandbox = currentRestApiCredential.IsSandbox,
- UseSoapApi = currentRestApiCredential.UseSoapApi
+ UseSoapApi = currentRestApiCredential.UseSoapApi,
+ GrantType = currentRestApiCredential.GrantType
}; // Salviamo temporaneamente la credenziale per il test
await CredentialService.SaveRestApiCredentialAsync(tempCredential);
diff --git a/Data_Coupler/Services/DataConnectionFactory.cs b/Data_Coupler/Services/DataConnectionFactory.cs
index efdaa2e..4139870 100644
--- a/Data_Coupler/Services/DataConnectionFactory.cs
+++ b/Data_Coupler/Services/DataConnectionFactory.cs
@@ -133,7 +133,9 @@ namespace Data_Coupler.Services
// Per Salesforce usiamo i campi specifici ClientId e ClientSecret
options.ApiKey = credential.ClientId; // ClientId -> ApiKey
options.AuthToken = credential.ClientSecret; // ClientSecret -> AuthToken
- _logger.LogInformation("Salesforce mapping - ClientId: '{ClientId}', ClientSecret: {HasSecret}, Username: '{Username}', Password: {HasPassword}",
+ options.SalesforceGrantType = credential.GrantType;
+ _logger.LogInformation("Salesforce mapping - GrantType: {GrantType}, ClientId: '{ClientId}', ClientSecret: {HasSecret}, Username: '{Username}', Password: {HasPassword}",
+ credential.GrantType,
credential.ClientId,
!string.IsNullOrEmpty(credential.ClientSecret),
credential.Username,
@@ -215,7 +217,9 @@ namespace Data_Coupler.Services
{
var httpClientFactory = _serviceProvider.GetRequiredService();
var httpClient = httpClientFactory.CreateClient();
- return new SalesforceServiceClient(httpClient, options);
+ var loggerFactory = _serviceProvider.GetService();
+ var sfLogger = loggerFactory?.CreateLogger();
+ return new DataConnection.REST.Implementations.SalesforceServiceClient(httpClient, options, sfLogger);
}
///