diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs index 1b984cee..f599a7b2 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs @@ -393,6 +393,10 @@ public static partial class OpenIddictClientWebIntegrationHandlers ["accounts"] = context.Response["accounts"] }, + // Calendly returns a nested "resource" object. + ProviderTypes.Calendly => new(context.Response["resource"]?.GetNamedParameters() ?? + throw new InvalidOperationException(SR.FormatID0334("resource"))), + // Disqus returns a nested "response" object. ProviderTypes.Disqus => new(context.Response["response"]?.GetNamedParameters() ?? throw new InvalidOperationException(SR.FormatID0334("response"))), diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs index df2b2cc1..b8baa579 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs @@ -1310,6 +1310,9 @@ public static partial class OpenIddictClientWebIntegrationHandlers // Bitly returns the user identifier as a custom "login" node: ProviderTypes.Bitly => (string?) context.UserinfoResponse?["login"], + // Calendly returns the user identifier (formatted as a URI) as a custom "uri" node: + ProviderTypes.Calendly => (string?) context.UserinfoResponse?["uri"], + // DeviantArt returns the user identifier as a custom "userid" node: ProviderTypes.DeviantArt => (string?) context.UserinfoResponse?["userid"], diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml index 079cfd61..ca0d1a57 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml @@ -339,6 +339,30 @@ + + + + + + + + + + + + +