protected override async Task <string> GetOpenIdConfigurationEndpoint(string userPrincipalName, RequestContext requestContext) { if (ValidateAuthority && !IsInTrustedHostList(new Uri(CanonicalAuthority).Host)) { OAuth2Client client = new OAuth2Client(); client.AddQueryParameter("api-version", "1.0"); client.AddQueryParameter("authorization_endpoint", CanonicalAuthority + "oauth2/v2.0/authorize"); InstanceDiscoveryResponse discoveryResponse = await client.DiscoverAadInstance(new Uri(AadInstanceDiscoveryEndpoint), requestContext) .ConfigureAwait(false); if (discoveryResponse.TenantDiscoveryEndpoint == null) { throw new MsalServiceException(discoveryResponse.Error, discoveryResponse.ErrorDescription); } return(discoveryResponse.TenantDiscoveryEndpoint); } return(GetDefaultOpenIdConfigurationEndpoint()); }