Exemplo n.º 1
0
        private void UpdateDefaultCredentials()
        {
            var path = Path.Combine(s_credentialsStoreRoot, DefaultCredentialsFileName);

            if (CurrentAccount?.AccountName != null)
            {
                var defaultCredentials = new DefaultCredentials
                {
                    ProjectId   = CurrentProjectId,
                    AccountName = CurrentAccount?.AccountName,
                };

                try
                {
                    Debug.WriteLine($"Updating default account: {path}");
                    AtomicFileWrite(path, JsonConvert.SerializeObject(defaultCredentials));
                }
                catch (IOException ex)
                {
                    Debug.WriteLine($"Failed to update default credentials: {ex.Message}");
                }
            }
            else
            {
                Debug.WriteLine($"Deleting default account: {path}");
                try
                {
                    File.Delete(path);
                }
                catch (IOException ex)
                {
                    Debug.WriteLine($"Failed to delete the default credentials: {ex.Message}");
                }
            }
        }
Exemplo n.º 2
0
        private DefaultCredentials LoadDefaultCredentials()
        {
            var path = Path.Combine(s_credentialsStoreRoot, DefaultCredentialsFileName);

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

            DefaultCredentials result = null;

            try
            {
                var contents = AtomicFileRead(path);
                result = JsonConvert.DeserializeObject <DefaultCredentials>(contents);
            }
            catch (JsonException ex)
            {
                Debug.WriteLine($"Failed to parse default credentials: {ex.Message}");
            }
            catch (IOException ex)
            {
                Debug.WriteLine($"Failed to read default credentials: {ex.Message}");
            }
            return(result);
        }
        public CredentialsStore(Lazy <IFileSystem> fileSystem)
        {
            _fileSystem = fileSystem;

            _cachedCredentials = LoadAccounts();

            DefaultCredentials defaultCredentials = LoadDefaultCredentials();

            if (defaultCredentials != null)
            {
                ResetCredentials(defaultCredentials.AccountName, defaultCredentials.ProjectId);
            }
        }