コード例 #1
0
        public bool IsCacheValid()
        {
            var file = ProtectedFile.GetCacheFile(_fileName);

            if (!File.Exists(file))
            {
                return(false);
            }

            try
            {
                var json = JObject.Parse(File.ReadAllText(file));
                if (Constants.FileVersion.Value != json.Value <string>("ver"))
                {
                    ClearAll();
                    return(false);
                }

                AzureEnvironments unused;
                return(Enum.TryParse <AzureEnvironments>(json.Value <string>("env"), out unused));
            }
            catch (Exception)
            {
                ClearAll();
                return(false);
            }
        }
コード例 #2
0
        public void SaveRecentToken(TokenCacheInfo cacheInfo, string resource)
        {
            var file = ProtectedFile.GetCacheFile(GetRecentTokenFileName(resource));
            var json = JObject.FromObject(cacheInfo);

            ProtectedFile.WriteAllText(ProtectedFile.GetCacheFile(file), json.ToString());
        }
コード例 #3
0
 public void ClearCache()
 {
     foreach (var filePath in Directory.GetFiles(Path.GetDirectoryName(ProtectedFile.GetCacheFile(_fileName)), "cache_tenants*", SearchOption.TopDirectoryOnly))
     {
         File.Delete(filePath);
     }
 }
コード例 #4
0
        public bool IsCacheValid()
        {
            var file = ProtectedFile.GetCacheFile(_fileName);

            if (!File.Exists(file))
            {
                return(false);
            }

            try
            {
                var json = JObject.Parse(File.ReadAllText(file));
                if (Constants.FileVersion.Value != json.Value <string>("ver"))
                {
                    ClearAll();
                    return(false);
                }
                return(true);
            }
            catch (Exception)
            {
                ClearAll();
                return(false);
            }
        }
コード例 #5
0
        public void SaveRecentToken(TokenCacheInfo cacheInfo, string resource)
        {
            var file = ProtectedFile.GetCacheFile(resource == Constants.CSMResource ? _recentARMFileName : _recentAADFileName);
            var json = JObject.FromObject(cacheInfo);

            ProtectedFile.WriteAllText(ProtectedFile.GetCacheFile(file), json.ToString());
        }
コード例 #6
0
        public void SaveEnvironment(AzureEnvironments azureEnvironment)
        {
            var json = new JObject();

            json["ver"] = Constants.FileVersion.Value;
            json["env"] = azureEnvironment.ToString();
            File.WriteAllText(ProtectedFile.GetCacheFile(_fileName), json.ToString());
        }
コード例 #7
0
        public void ClearSavedEnvironment()
        {
            var filePath = ProtectedFile.GetCacheFile(_fileName);

            if (File.Exists(filePath))
            {
                File.Delete(filePath);
            }
        }
コード例 #8
0
        public Dictionary <string, TenantCacheInfo> GetCache()
        {
            var file = ProtectedFile.GetCacheFile(_fileName);

            if (!File.Exists(file))
            {
                return(new Dictionary <string, TenantCacheInfo>());
            }

            return(JsonConvert.DeserializeObject <Dictionary <string, TenantCacheInfo> >(ProtectedFile.ReadAllText(file)));
        }
コード例 #9
0
        public AzureEnvironments GetSavedEnvironment()
        {
            var file = ProtectedFile.GetCacheFile(_fileName);

            if (File.Exists(file))
            {
                return((AzureEnvironments)Enum.Parse(typeof(AzureEnvironments), File.ReadAllText(file)));
            }

            return(AzureEnvironments.Prod);
        }
コード例 #10
0
        public TokenCacheInfo GetRecentToken(string resource)
        {
            var file = ProtectedFile.GetCacheFile(resource == Constants.CSMResource ? _recentARMFileName : _recentAADFileName);

            if (!File.Exists(file))
            {
                return(null);
            }

            return(JsonConvert.DeserializeObject <TokenCacheInfo>(ProtectedFile.ReadAllText(file)));
        }
コード例 #11
0
        public string GetSavedEnvironment()
        {
            var file = ProtectedFile.GetCacheFile(_fileName);

            if (File.Exists(file))
            {
                var json = JObject.Parse(File.ReadAllText(file));
                return(json.Value <string>("env"));
            }

            return(Utils.GetDefaultEnv());
        }
コード例 #12
0
        public AzureEnvironments GetSavedEnvironment()
        {
            var file = ProtectedFile.GetCacheFile(_fileName);

            if (File.Exists(file))
            {
                var json = JObject.Parse(File.ReadAllText(file));
                return((AzureEnvironments)Enum.Parse(typeof(AzureEnvironments), json.Value <string>("env")));
            }

            return(AzureEnvironments.Prod);
        }
コード例 #13
0
        public CustomTokenCache GetCache()
        {
            var file = ProtectedFile.GetCacheFile(_cacheFileName);

            if (!File.Exists(file))
            {
                return(new CustomTokenCache());
            }

            var state = ProtectedFile.ReadAllText(file);

            return(new CustomTokenCache(state));
        }
コード例 #14
0
        public bool IsCacheValid()
        {
            var file = ProtectedFile.GetCacheFile(_fileName);

            return(File.Exists(file));
        }
コード例 #15
0
        public void SaveCache(Dictionary <string, TenantCacheInfo> tenants)
        {
            var json = JObject.FromObject(tenants);

            ProtectedFile.WriteAllText(ProtectedFile.GetCacheFile(_fileName), json.ToString());
        }
コード例 #16
0
 public void SaveEnvironment(AzureEnvironments azureEnvironment)
 {
     File.WriteAllText(ProtectedFile.GetCacheFile(_fileName), azureEnvironment.ToString());
 }
コード例 #17
0
        public void SaveCache(CustomTokenCache cache)
        {
            var state = cache.GetState();

            ProtectedFile.WriteAllText(ProtectedFile.GetCacheFile(_cacheFileName), state);
        }