From 2445813f8cb8b58d79ae108db76a24faaaf6d8e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Chalet?= Date: Wed, 29 Oct 2025 15:01:44 +0100 Subject: [PATCH] Add Figma to the list of supported providers --- .../OpenIddictClientWebIntegrationHandlers.cs | 25 ++++++++------- ...penIddictClientWebIntegrationProviders.xml | 32 +++++++++++++++++++ 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs index ad42e689..bbacf057 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs @@ -1457,6 +1457,9 @@ public static partial class OpenIddictClientWebIntegrationHandlers context.UserInfoResponse?.HasParameter("lastName") is true => $"{(string?) context.UserInfoResponse?["firstName"]} {(string?) context.UserInfoResponse?["lastName"]}", + // Figma returns the username as a custom "handle" node: + ProviderTypes.Figma => (string?) context.UserInfoResponse?["handle"], + // Huawei returns the username as a custom "display_name" in the backchannel identity token: ProviderTypes.Huawei => context.BackchannelIdentityTokenPrincipal?.GetClaim("display_name"), @@ -1531,17 +1534,17 @@ public static partial class OpenIddictClientWebIntegrationHandlers ProviderTypes.Atlassian => (string?) context.UserInfoResponse?["account_id"], // These providers return the user identifier as a custom "id" node: - ProviderTypes.Airtable or ProviderTypes.Basecamp or ProviderTypes.Box or - ProviderTypes.Dailymotion or ProviderTypes.Deezer or ProviderTypes.Discord or - ProviderTypes.Disqus or ProviderTypes.Facebook or ProviderTypes.Genesys or - ProviderTypes.Gitee or ProviderTypes.GitHub or ProviderTypes.Harvest or - ProviderTypes.Kook or ProviderTypes.Kroger or ProviderTypes.Lichess or - ProviderTypes.Linear or ProviderTypes.Mastodon or ProviderTypes.Meetup or - ProviderTypes.Miro or ProviderTypes.Nextcloud or ProviderTypes.Patreon or - ProviderTypes.Pipedrive or ProviderTypes.Reddit or ProviderTypes.Smartsheet or - ProviderTypes.Spotify or ProviderTypes.SubscribeStar or ProviderTypes.Todoist or - ProviderTypes.Twitter or ProviderTypes.Webflow or ProviderTypes.Weibo or - ProviderTypes.Yandex or ProviderTypes.Zoom + ProviderTypes.Airtable or ProviderTypes.Basecamp or ProviderTypes.Box or + ProviderTypes.Dailymotion or ProviderTypes.Deezer or ProviderTypes.Discord or + ProviderTypes.Disqus or ProviderTypes.Facebook or ProviderTypes.Figma or + ProviderTypes.Genesys or ProviderTypes.Gitee or ProviderTypes.GitHub or + ProviderTypes.Harvest or ProviderTypes.Kook or ProviderTypes.Kroger or + ProviderTypes.Lichess or ProviderTypes.Linear or ProviderTypes.Mastodon or + ProviderTypes.Meetup or ProviderTypes.Miro or ProviderTypes.Nextcloud or + ProviderTypes.Patreon or ProviderTypes.Pipedrive or ProviderTypes.Reddit or + ProviderTypes.Smartsheet or ProviderTypes.Spotify or ProviderTypes.SubscribeStar or + ProviderTypes.Todoist or ProviderTypes.Twitter or ProviderTypes.Webflow or + ProviderTypes.Weibo or ProviderTypes.Yandex 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 8b1333d6..2a44dd9c 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml @@ -851,6 +851,36 @@ ConfigurationEndpoint="https://api.faceit.com/auth/v1/openid_configuration" /> + + + + + + + + + + + + + + + + + + +