feat: implementa cache intelligente per credenziali REST con hash SHA256
- Aggiunge classe CachedRestClient per tracciare client con hash delle credenziali - Implementa verifica automatica delle credenziali dal database tramite hash SHA256 - Mantiene cache dei client REST autenticati preservando lo stato di autenticazione - Invalida automaticamente la cache quando le credenziali cambiano nel database - Aggiunge logging dettagliato per debug dell'autenticazione Salesforce - Migliora mappatura credenziali Salesforce con validazione Password e ClientSecret BREAKING CHANGE: Le credenziali REST vengono sempre verificate dal database mantenendo performance attraverso cache intelligente basata su hash crittografico Fixes: risolve problemi di "invalid_client_id" intermittenti e _accessToken null
This commit is contained in:
@@ -132,13 +132,13 @@ namespace DataConnection.REST.Implementations
|
||||
|
||||
if (string.IsNullOrEmpty(_options.Username) || string.IsNullOrEmpty(_options.Password))
|
||||
{
|
||||
Console.WriteLine("Salesforce authentication requires username and password in options");
|
||||
Console.WriteLine($"Salesforce authentication requires username and password in options. Username: '{_options.Username}', Password: '{(!string.IsNullOrEmpty(_options.Password) ? "***SET***" : "***NULL***")}'");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(_options.ApiKey) || string.IsNullOrEmpty(_options.AuthToken))
|
||||
{
|
||||
Console.WriteLine("Salesforce authentication requires ApiKey (ClientId) and AuthToken (ClientSecret) in options");
|
||||
Console.WriteLine($"Salesforce authentication requires ApiKey (ClientId) and AuthToken (ClientSecret) in options. ApiKey: '{_options.ApiKey}', AuthToken: '{(!string.IsNullOrEmpty(_options.AuthToken) ? "***SET***" : "***NULL***")}'");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user