From b1005dad228397ca21eae4d2c3d2328a17bc2953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Chalet?= Date: Mon, 15 Jan 2024 08:33:45 +0100 Subject: [PATCH] Add Orange France to the list of supported providers --- ...IddictClientWebIntegrationHandlers.Discovery.cs | 8 ++++++++ .../OpenIddictClientWebIntegrationProviders.xml | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs index ba15fef3..42d7586c 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs @@ -349,6 +349,14 @@ public static partial class OpenIddictClientWebIntegrationHandlers context.Registration.Issuer, "oidc/logout"); } + // While it exposes a standard OpenID Connect userinfo endpoint, Orange France doesn't list it + // in its configuration document. To work around that, the endpoint URI is manually added here. + else if (context.Registration.ProviderType is ProviderTypes.OrangeFrance) + { + context.Configuration.UserinfoEndpoint ??= + new Uri("https://api.orange.com/openidconnect/fr/v1/userinfo", UriKind.Absolute); + } + // While PayPal supports OpenID Connect discovery, the configuration document returned // by the sandbox environment always contains the production endpoints, which would // prevent the OpenIddict integration from working properly when using the sandbox mode. diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml index 1c68f286..40db4406 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml @@ -732,6 +732,20 @@ Description="The URI used to access the Okta instance (e.g https://fabrikam.okta.com/)" /> + + + + + +