diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs index ba15fef31..42d7586c0 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs @@ -349,6 +349,14 @@ public ValueTask HandleAsync(HandleConfigurationResponseContext context) 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 1c68f2867..40db44064 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/)" /> + + + + + +