void DisableAutosave(IAzureSession session, bool writeAutoSaveFile, out ContextAutosaveSettings result) { var store = session.DataStore; string tokenPath = Path.Combine(session.TokenCacheDirectory, session.TokenCacheFile); result = new ContextAutosaveSettings { Mode = ContextSaveMode.Process }; FileUtilities.DataStore = session.DataStore; session.ARMContextSaveMode = ContextSaveMode.Process; var memoryCache = session.TokenCache as AuthenticationStoreTokenCache; if (memoryCache == null) { var diskCache = session.TokenCache as ProtectedFileTokenCache; memoryCache = new AuthenticationStoreTokenCache(new AzureTokenCache()); if (diskCache != null && diskCache.Count > 0) { memoryCache.Deserialize(diskCache.Serialize()); } session.TokenCache = memoryCache; } if (writeAutoSaveFile) { FileUtilities.EnsureDirectoryExists(session.ProfileDirectory); string autoSavePath = Path.Combine(session.ProfileDirectory, ContextAutosaveSettings.AutoSaveSettingsFile); session.DataStore.WriteFile(autoSavePath, JsonConvert.SerializeObject(result)); } }
public override void SetTokenCacheForProfile(IAzureContextContainer profile) { base.SetTokenCacheForProfile(profile); var cache = new AuthenticationStoreTokenCache(TokenCache.DefaultShared); if (profile.HasTokenCache()) { cache.Deserialize(profile.GetTokenCache().CacheData); } AzureSession.Instance.TokenCache = cache; profile.SetTokenCache(cache); }
private void DisableAutosave(IAzureSession session) { session.ARMContextSaveMode = ContextSaveMode.Process; var memoryCache = session.TokenCache as AuthenticationStoreTokenCache; if (memoryCache == null) { var diskCache = session.TokenCache as ProtectedFileTokenCache; memoryCache = new AuthenticationStoreTokenCache(new AzureTokenCache()); if (diskCache != null && diskCache.Count > 0) { memoryCache.Deserialize(diskCache.Serialize()); } session.TokenCache = memoryCache; } }