From 7cf4c28e40d34d98cd8d9377db92f71ef480d832 Mon Sep 17 00:00:00 2001 From: Ge Date: Fri, 14 Jun 2024 17:04:51 +0800 Subject: [PATCH] Add KOOK to the list of supported providers --- ...ctClientWebIntegrationHandlers.Userinfo.cs | 4 +-- .../OpenIddictClientWebIntegrationHandlers.cs | 22 ++++++++-------- ...penIddictClientWebIntegrationProviders.xml | 25 +++++++++++++++++++ 3 files changed, 38 insertions(+), 13 deletions(-) diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs index 85d2bcee..55852383 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs @@ -411,8 +411,8 @@ public static partial class OpenIddictClientWebIntegrationHandlers ["accounts"] = context.Response["accounts"] }, - // Kroger, Twitter and Patreon return a nested "data" object. - ProviderTypes.Kroger or ProviderTypes.Patreon or ProviderTypes.Twitter + // These providers return a nested "data" object. + ProviderTypes.Kook or ProviderTypes.Kroger or ProviderTypes.Patreon or ProviderTypes.Twitter => new(context.Response["data"]?.GetNamedParameters() ?? throw new InvalidOperationException(SR.FormatID0334("data"))), diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs index 73a4373e..9ae893fb 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs @@ -1175,9 +1175,9 @@ public static partial class OpenIddictClientWebIntegrationHandlers { // These providers return the username as a custom "username" node: ProviderTypes.ArcGisOnline or ProviderTypes.Dailymotion or ProviderTypes.DeviantArt or - ProviderTypes.Discord or ProviderTypes.Disqus or ProviderTypes.Lichess or - ProviderTypes.Mastodon or ProviderTypes.Mixcloud or ProviderTypes.Trakt or - ProviderTypes.WordPress + ProviderTypes.Discord or ProviderTypes.Disqus or ProviderTypes.Kook or + ProviderTypes.Lichess or ProviderTypes.Mastodon or ProviderTypes.Mixcloud or + ProviderTypes.Trakt or ProviderTypes.WordPress => (string?) context.UserinfoResponse?["username"], // Basecamp and Harvest don't return a username so one is created using the "first_name" and "last_name" nodes: @@ -1260,14 +1260,14 @@ public static partial class OpenIddictClientWebIntegrationHandlers ProviderTypes.Atlassian => (string?) context.UserinfoResponse?["account_id"], // These providers return the user identifier as a custom "id" node: - ProviderTypes.Basecamp or ProviderTypes.Box or ProviderTypes.Dailymotion or - ProviderTypes.Deezer or ProviderTypes.Discord or ProviderTypes.Disqus or - ProviderTypes.Facebook or ProviderTypes.GitHub or ProviderTypes.Harvest or - ProviderTypes.Kroger or ProviderTypes.Lichess or ProviderTypes.Mastodon or - ProviderTypes.Meetup or ProviderTypes.Nextcloud or ProviderTypes.Patreon or - ProviderTypes.Reddit or ProviderTypes.Smartsheet or ProviderTypes.Spotify or - ProviderTypes.SubscribeStar or ProviderTypes.Todoist or ProviderTypes.Twitter or - ProviderTypes.Zoom + ProviderTypes.Basecamp or ProviderTypes.Box or ProviderTypes.Dailymotion or + ProviderTypes.Deezer or ProviderTypes.Discord or ProviderTypes.Disqus or + ProviderTypes.Facebook or ProviderTypes.GitHub or ProviderTypes.Harvest or + ProviderTypes.Kook or ProviderTypes.Kroger or ProviderTypes.Lichess or + ProviderTypes.Mastodon or ProviderTypes.Meetup or ProviderTypes.Nextcloud or + ProviderTypes.Patreon or ProviderTypes.Reddit or ProviderTypes.Smartsheet or + ProviderTypes.Spotify or ProviderTypes.SubscribeStar or ProviderTypes.Todoist or + ProviderTypes.Twitter or ProviderTypes.Zoom => (string?) context.UserinfoResponse?["id"], // Bitbucket returns the user identifier as a custom "uuid" node: diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml index cb1e0eb8..5d105a0a 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml @@ -782,6 +782,31 @@ Description="The URI used to access the Keycloak identity provider (including the realm, if applicable)" /> + + + + + + + + + + + + + +