diff --git a/CommunityToolkit.Authentication.Msal/MsalProvider.cs b/CommunityToolkit.Authentication.Msal/MsalProvider.cs index 9f41e58..3adf77a 100644 --- a/CommunityToolkit.Authentication.Msal/MsalProvider.cs +++ b/CommunityToolkit.Authentication.Msal/MsalProvider.cs @@ -186,10 +186,7 @@ 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) - .WithAuthority(AzureCloudInstance.AzurePublic, authority) .WithClientName(ProviderManager.ClientName) .WithClientVersion(Assembly.GetExecutingAssembly().GetName().Version.ToString()); @@ -198,6 +195,13 @@ protected IPublicClientApplication CreatePublicClientApplication(string clientId clientBuilder = clientBuilder.WithTenantId(tenantId); } + // If the TenantId is not provided, use WithAuthority + else + { + var authority = listWindowsWorkAndSchoolAccounts ? AadAuthorityAudience.AzureAdAndPersonalMicrosoftAccount : AadAuthorityAudience.PersonalMicrosoftAccount; + clientBuilder = clientBuilder.WithAuthority(AzureCloudInstance.AzurePublic, authority); + } + #if WINDOWS_UWP || NET5_0_WINDOWS10_0_17763_0 clientBuilder = clientBuilder.WithBroker(); #elif NETCOREAPP3_1