private void RefreshPluginCredential(ISafeguardConnection sgConnection, Plugin plugin) { if (plugin.VaultAccountId.HasValue) { try { var a2aAccount = _safeguardLogic.GetA2ARetrievableAccount(sgConnection, plugin.VaultAccountId.Value, A2ARegistrationType.Vault); if (a2aAccount != null) { SendPluginVaultCredentials(plugin.Name, a2aAccount.ApiKey); return; } _logger.Error( $"Failed to refresh the credential for plugin {plugin.Name} account {plugin.VaultAccountId}."); } catch (Exception ex) { var msg = $"Failed to refresh the api key for {plugin.Name} account {plugin.VaultAccountId}: {ex.Message}"; _logger.Error(ex, msg); } } else if (plugin.IsSystemOwned) { var addon = _configDb.GetAllAddons().FirstOrDefault(a => a.Manifest.PluginName.Equals(plugin.Name)); if (addon != null && addon.VaultCredentials.ContainsKey(WellKnownData.DevOpsCredentialName(addon.VaultAccountName, _configDb.SvcId))) { SendPluginVaultCredentialOnly(plugin.Name, addon.VaultCredentials[WellKnownData.DevOpsCredentialName(addon.VaultAccountName, _configDb.SvcId)]); } } }
public A2ARetrievableAccount GetPluginVaultAccount(ISafeguardConnection sgConnection, string name) { var plugin = _configDb.GetPluginByName(name); if (plugin == null) { throw LogAndException($"Plugin {name} not found"); } if (plugin.IsSystemOwned && !plugin.VaultAccountId.HasValue) { var account = new A2ARetrievableAccount() { AccountName = WellKnownData.DevOpsCredentialName(plugin.Name, _configDb.SvcId), AccountDescription = "Internal account", SystemName = WellKnownData.DevOpsAssetName(_configDb.SvcId), SystemDescription = WellKnownData.DevOpsAssetName(_configDb.SvcId) }; var addon = _configDb.GetAllAddons().FirstOrDefault(a => a.Manifest.PluginName.Equals(plugin.Name)); if (addon != null) { account.AccountName = addon.VaultAccountName; account.SystemName = addon.Name; account.SystemDescription = addon.Name; } return(account); } if (!plugin.VaultAccountId.HasValue) { return(null); } return(_safeguardLogic.GetA2ARetrievableAccount(sgConnection, plugin.VaultAccountId.Value, A2ARegistrationType.Vault)); }
public A2ARetrievableAccount GetPluginVaultAccount(string name) { var plugin = _configDb.GetPluginByName(name); if (plugin == null) { throw LogAndException($"Plugin {name} not found"); } if (!plugin.VaultAccountId.HasValue) { return(null); } return(_safeguardLogic.GetA2ARetrievableAccount(plugin.VaultAccountId.Value, A2ARegistrationType.Vault)); }
private void RefreshPluginCredential(Plugin plugin) { if (_safeguardLogic.IsLoggedIn() && plugin.VaultAccountId.HasValue) { try { var a2aAccount = _safeguardLogic.GetA2ARetrievableAccount(plugin.VaultAccountId.Value, A2ARegistrationType.Vault); if (a2aAccount != null) { SendPluginVaultCredentials(plugin.Name, a2aAccount.ApiKey); return; } _logger.Error($"Failed to refresh the credential for plugin {plugin.Name} account {plugin.VaultAccountId}."); } catch (Exception ex) { var msg = $"Failed to refresh the api key for {plugin.Name} account {plugin.VaultAccountId}: {ex.Message}"; _logger.Error(msg); } } }