From 329a8eb57285eb26712564fdad7bdaf9155dca71 Mon Sep 17 00:00:00 2001 From: Leif Arne Brekke Date: Sat, 4 Dec 2021 08:54:55 +0100 Subject: [PATCH 1/2] fix(msalprovider): Fix error when providing TenantId Providing TenantId resulted in both WithTenantId and WithAuthority to be specified wich are mutually exclusive resulting in error --- CommunityToolkit.Authentication.Msal/MsalProvider.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CommunityToolkit.Authentication.Msal/MsalProvider.cs b/CommunityToolkit.Authentication.Msal/MsalProvider.cs index 9f41e58..4a14876 100644 --- a/CommunityToolkit.Authentication.Msal/MsalProvider.cs +++ b/CommunityToolkit.Authentication.Msal/MsalProvider.cs @@ -189,7 +189,6 @@ protected IPublicClientApplication CreatePublicClientApplication(string clientId var authority = listWindowsWorkAndSchoolAccounts ? AadAuthorityAudience.AzureAdAndPersonalMicrosoftAccount : AadAuthorityAudience.PersonalMicrosoftAccount; var clientBuilder = PublicClientApplicationBuilder.Create(clientId) - .WithAuthority(AzureCloudInstance.AzurePublic, authority) .WithClientName(ProviderManager.ClientName) .WithClientVersion(Assembly.GetExecutingAssembly().GetName().Version.ToString()); @@ -198,6 +197,12 @@ protected IPublicClientApplication CreatePublicClientApplication(string clientId clientBuilder = clientBuilder.WithTenantId(tenantId); } + // If the TenantId is not provided, use WithAuthority + else + { + clientBuilder = clientBuilder.WithAuthority(AzureCloudInstance.AzurePublic, authority); + } + #if WINDOWS_UWP || NET5_0_WINDOWS10_0_17763_0 clientBuilder = clientBuilder.WithBroker(); #elif NETCOREAPP3_1 From d665db05dde065791dfe3e7ea173740369eed001 Mon Sep 17 00:00:00 2001 From: Leif Arne Brekke Date: Thu, 9 Dec 2021 08:30:57 +0100 Subject: [PATCH 2/2] Update MsalProvider.cs --- CommunityToolkit.Authentication.Msal/MsalProvider.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CommunityToolkit.Authentication.Msal/MsalProvider.cs b/CommunityToolkit.Authentication.Msal/MsalProvider.cs index 4a14876..3adf77a 100644 --- a/CommunityToolkit.Authentication.Msal/MsalProvider.cs +++ b/CommunityToolkit.Authentication.Msal/MsalProvider.cs @@ -186,8 +186,6 @@ public override Task GetTokenAsync(bool silentOnly = false) /// A new instance of . protected IPublicClientApplication CreatePublicClientApplication(string clientId, string tenantId, string redirectUri, bool listWindowsWorkAndSchoolAccounts) { - var authority = listWindowsWorkAndSchoolAccounts ? AadAuthorityAudience.AzureAdAndPersonalMicrosoftAccount : AadAuthorityAudience.PersonalMicrosoftAccount; - var clientBuilder = PublicClientApplicationBuilder.Create(clientId) .WithClientName(ProviderManager.ClientName) .WithClientVersion(Assembly.GetExecutingAssembly().GetName().Version.ToString()); @@ -200,6 +198,7 @@ protected IPublicClientApplication CreatePublicClientApplication(string clientId // If the TenantId is not provided, use WithAuthority else { + var authority = listWindowsWorkAndSchoolAccounts ? AadAuthorityAudience.AzureAdAndPersonalMicrosoftAccount : AadAuthorityAudience.PersonalMicrosoftAccount; clientBuilder = clientBuilder.WithAuthority(AzureCloudInstance.AzurePublic, authority); }