Skip to content

Commit 88df640

Browse files
Fix for #4791 - don't use WSTrust for ROPC except for AAD authorities (#4794)
* Fix for #4791 * Fix for #4791 * fix --------- Co-authored-by: Neha Bhargava <[email protected]>
1 parent 3f5f9df commit 88df640

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

src/client/Microsoft.Identity.Client/AppConfig/AuthorityInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,9 @@ private AuthorityInfo(
117117
/// <summary>
118118
/// For IWA
119119
/// </summary>
120-
internal bool IsUserAssertionSupported =>
121-
AuthorityType != AuthorityType.Adfs &&
122-
AuthorityType != AuthorityType.B2C;
120+
internal bool IsWsTrustFlowSupported =>
121+
AuthorityType == AuthorityType.Aad ||
122+
AuthorityType == AuthorityType.Dsts;
123123

124124
/// <summary>
125125
/// Authority supports multi-tenancy. ADFS and Generic authorities are not tenanted.

src/client/Microsoft.Identity.Client/Internal/Requests/IntegratedWindowsAuthRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ protected override async Task<AuthenticationResult> ExecuteAsync(CancellationTok
5252

5353
private async Task<UserAssertion> FetchAssertionFromWsTrustAsync()
5454
{
55-
if (!AuthenticationRequestParameters.AuthorityInfo.IsUserAssertionSupported)
55+
if (!AuthenticationRequestParameters.AuthorityInfo.IsWsTrustFlowSupported)
5656
{
5757
//IWA is currently not supported in pure adfs environments. See https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/2771
5858
throw new MsalClientException(

src/client/Microsoft.Identity.Client/Internal/Requests/UsernamePasswordRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ private async Task<MsalTokenResponse> GetTokenResponseAsync(CancellationToken ca
106106

107107
private async Task<UserAssertion> FetchAssertionFromWsTrustAsync()
108108
{
109-
if (!AuthenticationRequestParameters.AuthorityInfo.IsUserAssertionSupported)
109+
if (!AuthenticationRequestParameters.AuthorityInfo.IsWsTrustFlowSupported)
110110
{
111111
return null;
112112
}

tests/Microsoft.Identity.Test.Unit/CoreTests/InstanceTests/DstsAuthorityTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public void DstsAuthorityFlags()
9898
Assert.IsTrue((app.AppConfig as ApplicationConfiguration).Authority.AuthorityInfo.CanBeTenanted);
9999
Assert.IsTrue((app.AppConfig as ApplicationConfiguration).Authority.AuthorityInfo.IsClientInfoSupported);
100100
Assert.IsFalse((app.AppConfig as ApplicationConfiguration).Authority.AuthorityInfo.IsInstanceDiscoverySupported);
101-
Assert.IsTrue((app.AppConfig as ApplicationConfiguration).Authority.AuthorityInfo.IsUserAssertionSupported);
101+
Assert.IsTrue((app.AppConfig as ApplicationConfiguration).Authority.AuthorityInfo.IsWsTrustFlowSupported);
102102
}
103103

104104
[TestMethod]

0 commit comments

Comments
 (0)