From ecbb9c3df39de7e92a0e7604ffba62201f72ec07 Mon Sep 17 00:00:00 2001 From: Neha Bhargava <61847233+neha-bhargava@users.noreply.github.com> Date: Mon, 28 Apr 2025 13:18:21 -0700 Subject: [PATCH 1/4] Pass the error message from MSAL when request fails --- .gitignore | 2 ++ .../IDWebErrorMessage.cs | 2 +- .../PublicAPI/net462/InternalAPI.Unshipped.txt | 1 + .../PublicAPI/net472/InternalAPI.Unshipped.txt | 1 + .../PublicAPI/net6.0/InternalAPI.Unshipped.txt | 1 + .../PublicAPI/net7.0/InternalAPI.Unshipped.txt | 1 + .../PublicAPI/net8.0/InternalAPI.Unshipped.txt | 1 + .../PublicAPI/net9.0/InternalAPI.Unshipped.txt | 1 + .../PublicAPI/netstandard2.0/InternalAPI.Unshipped.txt | 1 + .../TokenAcquisition.cs | 4 ++-- 10 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 1024d6b3a..4725728ac 100644 --- a/.gitignore +++ b/.gitignore @@ -357,3 +357,5 @@ MigrationBackup/ /.SharedData /out/ objd/ +/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.Logger.cs +/tests/E2E Tests/TokenAcquirerTests/TokenAcquirer.cs diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/IDWebErrorMessage.cs b/src/Microsoft.Identity.Web.TokenAcquisition/IDWebErrorMessage.cs index 89963ae4f..d01e300ae 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/IDWebErrorMessage.cs +++ b/src/Microsoft.Identity.Web.TokenAcquisition/IDWebErrorMessage.cs @@ -49,7 +49,7 @@ internal static class IDWebErrorMessage "IDW10405: 'tenant' parameter should be a tenant ID or domain name, not 'common', or 'organizations'. See https://aka.ms/ms-id-web/daemon-scenarios. "; // MSAL IDW10500 = "IDW10500:" - public const string ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client. "; + public const string ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: "; public const string MicrosoftIdentityWebChallengeUserException = "IDW10502: An MsalUiRequiredException was thrown due to a challenge for the user. " + "See https://aka.ms/ms-id-web/ca_incremental-consent. "; public const string ProvidedAuthenticationSchemeIsIncorrect = "IDW10503: Cannot determine the cloud Instance. The provided authentication scheme was '{0}'. Microsoft.Identity.Web inferred '{1}' as the authentication scheme. Available authentication schemes are '{2}'. See https://aka.ms/id-web/authSchemes. "; diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net462/InternalAPI.Unshipped.txt b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net462/InternalAPI.Unshipped.txt index e69de29bb..5dfd019d9 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net462/InternalAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net462/InternalAPI.Unshipped.txt @@ -0,0 +1 @@ +const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string! \ No newline at end of file diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net472/InternalAPI.Unshipped.txt b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net472/InternalAPI.Unshipped.txt index e69de29bb..5dfd019d9 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net472/InternalAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net472/InternalAPI.Unshipped.txt @@ -0,0 +1 @@ +const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string! \ No newline at end of file diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net6.0/InternalAPI.Unshipped.txt b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net6.0/InternalAPI.Unshipped.txt index e69de29bb..5dfd019d9 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net6.0/InternalAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net6.0/InternalAPI.Unshipped.txt @@ -0,0 +1 @@ +const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string! \ No newline at end of file diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net7.0/InternalAPI.Unshipped.txt b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net7.0/InternalAPI.Unshipped.txt index e69de29bb..5dfd019d9 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net7.0/InternalAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net7.0/InternalAPI.Unshipped.txt @@ -0,0 +1 @@ +const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string! \ No newline at end of file diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net8.0/InternalAPI.Unshipped.txt b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net8.0/InternalAPI.Unshipped.txt index e69de29bb..5dfd019d9 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net8.0/InternalAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net8.0/InternalAPI.Unshipped.txt @@ -0,0 +1 @@ +const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string! \ No newline at end of file diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net9.0/InternalAPI.Unshipped.txt b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net9.0/InternalAPI.Unshipped.txt index e69de29bb..5dfd019d9 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net9.0/InternalAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/net9.0/InternalAPI.Unshipped.txt @@ -0,0 +1 @@ +const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string! \ No newline at end of file diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/netstandard2.0/InternalAPI.Unshipped.txt b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/netstandard2.0/InternalAPI.Unshipped.txt index e69de29bb..5dfd019d9 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/netstandard2.0/InternalAPI.Unshipped.txt +++ b/src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/netstandard2.0/InternalAPI.Unshipped.txt @@ -0,0 +1 @@ +const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string! \ No newline at end of file diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs b/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs index b8d42b6cb..28b32b7fa 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs +++ b/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs @@ -851,7 +851,7 @@ await builder.WithClientCredentialsAsync( Logger.TokenAcquisitionError( _logger, IDWebErrorMessage.ClientCertificatesHaveExpiredOrCannotBeLoaded, - null); + ex); throw; } @@ -874,7 +874,7 @@ await builder.WithClientCredentialsAsync( { Logger.TokenAcquisitionError( _logger, - IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient, + IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient + ex.Message, ex); throw; } From 525b7deba57e6545aa0baf94d32c00e53f1e3a02 Mon Sep 17 00:00:00 2001 From: Neha Bhargava <61847233+neha-bhargava@users.noreply.github.com> Date: Mon, 28 Apr 2025 13:25:42 -0700 Subject: [PATCH 2/4] Pass message in another place --- src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs b/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs index 28b32b7fa..77ce1e653 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs +++ b/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs @@ -850,7 +850,7 @@ await builder.WithClientCredentialsAsync( { Logger.TokenAcquisitionError( _logger, - IDWebErrorMessage.ClientCertificatesHaveExpiredOrCannotBeLoaded, + IDWebErrorMessage.ClientCertificatesHaveExpiredOrCannotBeLoaded + ex.Message, ex); throw; } From 63af313b276dd68e86974caec994fdaea50a1f21 Mon Sep 17 00:00:00 2001 From: Neha Bhargava <61847233+neha-bhargava@users.noreply.github.com> Date: Mon, 28 Apr 2025 13:29:04 -0700 Subject: [PATCH 3/4] Undo changes to gitignore file --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4725728ac..1024d6b3a 100644 --- a/.gitignore +++ b/.gitignore @@ -357,5 +357,3 @@ MigrationBackup/ /.SharedData /out/ objd/ -/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.Logger.cs -/tests/E2E Tests/TokenAcquirerTests/TokenAcquirer.cs From 1a052c7000748a8a2acbacf44b41557445b4e618 Mon Sep 17 00:00:00 2001 From: Neha Bhargava <61847233+neha-bhargava@users.noreply.github.com> Date: Mon, 28 Apr 2025 14:27:24 -0700 Subject: [PATCH 4/4] Remove --- src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs b/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs index 77ce1e653..28b32b7fa 100644 --- a/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs +++ b/src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.cs @@ -850,7 +850,7 @@ await builder.WithClientCredentialsAsync( { Logger.TokenAcquisitionError( _logger, - IDWebErrorMessage.ClientCertificatesHaveExpiredOrCannotBeLoaded + ex.Message, + IDWebErrorMessage.ClientCertificatesHaveExpiredOrCannotBeLoaded, ex); throw; }