From 200ffc44d34402268cd23bb50134d93a1458ba05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Chalet?= Date: Wed, 21 Jun 2023 18:18:25 +0200 Subject: [PATCH] Add Lichess to the list of supported providers --- .../OpenIddictClientWebIntegrationHandlers.cs | 19 +++++++++---------- ...penIddictClientWebIntegrationProviders.xml | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs index ec07d0c8..ad1bb6fe 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs @@ -309,8 +309,8 @@ public static partial class OpenIddictClientWebIntegrationHandlers { ProviderTypes.Deezer or ProviderTypes.Mixcloud => OpenIddictHelpers.AddQueryStringParameter( - uri: new Uri(context.TokenRequest.RedirectUri, UriKind.Absolute), - name: Parameters.State, + uri : new Uri(context.TokenRequest.RedirectUri, UriKind.Absolute), + name : Parameters.State, value: context.StateToken).AbsoluteUri, _ => context.TokenRequest.RedirectUri @@ -888,16 +888,15 @@ public static partial class OpenIddictClientWebIntegrationHandlers // Note: this workaround only works for providers that allow dynamic // redirection URIs and implement a relaxed validation policy logic. - (context.Request.RedirectUri, context.Request.State) = context.Registration.ProviderType switch + if (context.Registration.ProviderType is ProviderTypes.Deezer or ProviderTypes.Mixcloud) { - ProviderTypes.Deezer or - ProviderTypes.Mixcloud => (OpenIddictHelpers.AddQueryStringParameter( - uri: new Uri(context.RedirectUri, UriKind.Absolute), - name: Parameters.State, - value: context.Request.State).AbsoluteUri, null), + context.Request.RedirectUri = OpenIddictHelpers.AddQueryStringParameter( + uri : new Uri(context.RedirectUri, UriKind.Absolute), + name : Parameters.State, + value: context.Request.State).AbsoluteUri; - _ => (context.Request.RedirectUri, context.Request.State) - }; + context.Request.State = null; + } return default; } diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml index adf0b18d..2e48cee2 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml @@ -457,6 +457,24 @@ Description="The URI used to access the Keycloak identity provider (including the realm, if applicable)" /> + + + + + + + + + +