public async Task StoreToken(AzureToken token) { string dir = Path.Combine(_root, "Subscriptions"); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } string path = Path.Combine(dir, token.SubscriptionId + ".dat"); string content = JsonFormat.Serialize(token); var protectedData = Convert.ToBase64String( ProtectedData.Protect( Encoding.UTF8.GetBytes(content), null, DataProtectionScope.CurrentUser)); using (var writer = new StreamWriter(path)) { await writer.WriteAsync(protectedData); } }