diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ActiveDirectoryAuthenticationProvider.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ActiveDirectoryAuthenticationProvider.cs
index 507d34b103..ac86212e0e 100644
--- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ActiveDirectoryAuthenticationProvider.cs
+++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ActiveDirectoryAuthenticationProvider.cs
@@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information.
using System;
+using System.Collections.Concurrent;
using System.Linq;
using System.Security;
using System.Threading;
@@ -15,6 +16,9 @@ namespace Microsoft.Data.SqlClient
///
public sealed class ActiveDirectoryAuthenticationProvider : SqlAuthenticationProvider
{
+ private static ConcurrentDictionary s_pcaMap
+ = new ConcurrentDictionary();
+ private static readonly string s_nativeClientRedirectUri = "https://login.microsoftonline.com/common/oauth2/nativeclient";
private static readonly string s_defaultScopeSuffix = "/.default";
private readonly string _type = typeof(ActiveDirectoryAuthenticationProvider).Name;
private readonly SqlClientLogger _logger = new SqlClientLogger();
@@ -67,10 +71,10 @@ public override void BeforeUnload(SqlAuthenticationMethod authentication)
}
#if NETSTANDARD
- private Func