diff --git a/src/OpenIddict.Abstractions/OpenIddictConstants.cs b/src/OpenIddict.Abstractions/OpenIddictConstants.cs index 6f1fc759..1d6e481b 100644 --- a/src/OpenIddict.Abstractions/OpenIddictConstants.cs +++ b/src/OpenIddict.Abstractions/OpenIddictConstants.cs @@ -39,11 +39,6 @@ namespace OpenIddict.Abstractions public const string LogoutRequest = "openiddict-logout-request:"; } - public static class Metadata - { - public const string ExternalProvidersSupported = "external_providers_supported"; - } - public static class Permissions { public static class Endpoints diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Discovery.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Discovery.cs index fca2bca9..48b86523 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Discovery.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Discovery.cs @@ -4,21 +4,17 @@ * the license and the contributors participating to this project. */ -using System.Linq; using System.Threading.Tasks; using AspNet.Security.OpenIdConnect.Primitives; using AspNet.Security.OpenIdConnect.Server; using JetBrains.Annotations; -using Microsoft.AspNetCore.Authentication; -using Microsoft.Extensions.DependencyInjection; using Newtonsoft.Json.Linq; -using OpenIddict.Abstractions; namespace OpenIddict.Server { public partial class OpenIddictServerProvider : OpenIdConnectServerProvider { - public override async Task HandleConfigurationRequest([NotNull] HandleConfigurationRequestContext context) + public override Task HandleConfigurationRequest([NotNull] HandleConfigurationRequestContext context) { var options = (OpenIddictServerOptions) context.Options; @@ -49,14 +45,7 @@ namespace OpenIddict.Server context.Metadata[OpenIdConnectConstants.Metadata.RequestParameterSupported] = false; context.Metadata[OpenIdConnectConstants.Metadata.RequestUriParameterSupported] = false; - var schemes = context.HttpContext.RequestServices.GetRequiredService(); - - context.Metadata[OpenIddictConstants.Metadata.ExternalProvidersSupported] = new JArray( - from provider in await schemes.GetAllSchemesAsync() - where !string.IsNullOrEmpty(provider.DisplayName) - select provider.Name); - - await base.HandleConfigurationRequest(context); + return base.HandleConfigurationRequest(context); } } } \ No newline at end of file diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Discovery.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Discovery.cs index 417e9273..cc983174 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Discovery.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Discovery.cs @@ -7,11 +7,7 @@ using System.Threading.Tasks; using AspNet.Security.OpenIdConnect.Client; using AspNet.Security.OpenIdConnect.Primitives; -using Microsoft.AspNetCore.Authentication.Cookies; -using Microsoft.AspNetCore.Authentication.Facebook; -using Microsoft.AspNetCore.Authentication.Google; using Newtonsoft.Json.Linq; -using OpenIddict.Abstractions; using Xunit; namespace OpenIddict.Server.Tests @@ -236,23 +232,5 @@ namespace OpenIddict.Server.Tests Assert.False((bool) response[OpenIdConnectConstants.Metadata.RequestParameterSupported]); Assert.False((bool) response[OpenIdConnectConstants.Metadata.RequestUriParameterSupported]); } - - [Fact] - public async Task HandleConfigurationRequest_ExternalProvidersAreCorrectlyReturned() - { - // Arrange - var server = CreateAuthorizationServer(); - - var client = new OpenIdConnectClient(server.CreateClient()); - - // Act - var response = await client.GetAsync(ConfigurationEndpoint); - var providers = ((JArray) response[OpenIddictConstants.Metadata.ExternalProvidersSupported]).Values(); - - // Assert - Assert.DoesNotContain(CookieAuthenticationDefaults.AuthenticationScheme, providers); - Assert.Contains(FacebookDefaults.AuthenticationScheme, providers); - Assert.Contains(GoogleDefaults.AuthenticationScheme, providers); - } } } diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.cs index 734b4104..1614f90d 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.cs @@ -15,7 +15,6 @@ using AspNet.Security.OpenIdConnect.Client; using AspNet.Security.OpenIdConnect.Extensions; using AspNet.Security.OpenIdConnect.Primitives; using Microsoft.AspNetCore.Authentication; -using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Diagnostics; @@ -1345,23 +1344,6 @@ namespace OpenIddict.Server.Tests services.AddOptions(); services.AddDistributedMemoryCache(); - // Note: the following client_id/client_secret are fake and are only - // used to test the metadata returned by the discovery endpoint. - services.AddAuthentication() - .AddFacebook(options => - { - options.ClientId = "16018790-E88E-4553-8036-BB342579FF19"; - options.ClientSecret = "3D6499AF-5607-489B-815A-F3ACF1617296"; - options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; - }) - - .AddGoogle(options => - { - options.ClientId = "BAF437A5-87FA-4D06-8EFD-F9BA96CCEDC4"; - options.ClientSecret = "27DF07D3-6B03-4EE0-95CD-3AC16782216B"; - options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; - }); - services.AddOpenIddict() .AddCore(options => { diff --git a/test/OpenIddict.Server.Tests/OpenIddict.Server.Tests.csproj b/test/OpenIddict.Server.Tests/OpenIddict.Server.Tests.csproj index 0cbd8285..94f418df 100644 --- a/test/OpenIddict.Server.Tests/OpenIddict.Server.Tests.csproj +++ b/test/OpenIddict.Server.Tests/OpenIddict.Server.Tests.csproj @@ -18,9 +18,6 @@ - - -