Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ public ValueTask HandleAsync(ExtractUserInfoResponseContext context)
context.Response[Claims.GivenName] = name["first"];
}
}

Comment thread
jerriep marked this conversation as resolved.
Outdated
Comment thread
kevinchalet marked this conversation as resolved.
Outdated
return default;
Comment thread
kevinchalet marked this conversation as resolved.
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1430,6 +1430,12 @@ ProviderTypes.Basecamp or ProviderTypes.Harvest or ProviderTypes.VkId
context.UserInfoResponse?.HasParameter("last_name") is true
=> $"{(string?) context.UserInfoResponse?["first_name"]} {(string?) context.UserInfoResponse?["last_name"]}",

// These providers don't return a username so one is created using the "firstName" and "lastName" nodes:
ProviderTypes.Contentful or ProviderTypes.Smartsheet
when context.UserInfoResponse?.HasParameter("firstName") is true &&
context.UserInfoResponse?.HasParameter("lastName") is true
=> $"{(string?) context.UserInfoResponse?["firstName"]} {(string?) context.UserInfoResponse?["lastName"]}",

// FitBit returns the username as a custom "displayName" node:
ProviderTypes.Fitbit => (string?) context.UserInfoResponse?["displayName"],

Expand Down Expand Up @@ -1465,12 +1471,6 @@ when context.TokenResponse?["associated_user"]?["first_name"] is not null &&
context.TokenResponse?["associated_user"]?["last_name"] is not null
=> $"{(string?) context.TokenResponse?["associated_user"]?["first_name"]} {(string?) context.TokenResponse?["associated_user"]?["last_name"]}",

// Smartsheet doesn't return a username so one is created using the "firstName" and "lastName" nodes:
ProviderTypes.Smartsheet
when context.UserInfoResponse?.HasParameter("firstName") is true &&
context.UserInfoResponse?.HasParameter("lastName") is true
=> $"{(string?) context.UserInfoResponse?["firstName"]} {(string?) context.UserInfoResponse?["lastName"]}",

// These providers return the username as a custom "display_name" node:
ProviderTypes.Spotify or ProviderTypes.StackExchange or
ProviderTypes.Yandex or ProviderTypes.Zoom
Expand Down Expand Up @@ -1535,6 +1535,9 @@ ProviderTypes.Webflow or ProviderTypes.Weibo or ProviderTypes.Yandex
// Calendly returns the user identifier (formatted as a URI) as a custom "uri" node:
ProviderTypes.Calendly => (string?) context.UserInfoResponse?["uri"],

// Contentful returns the user identifier as a custom "sys/id" node:
ProviderTypes.Contentful => (string?) context.UserInfoResponse?["sys"]?["id"],

// DeviantArt returns the user identifier as a custom "userid" node:
ProviderTypes.DeviantArt => (string?) context.UserInfoResponse?["userid"],

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -431,6 +431,23 @@
Description="The User Pool ID" />
</Provider>

<!--
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██ ▄▄▀██ ▄▄▄ ██ ▀██ █▄▄ ▄▄██ ▄▄▄██ ▀██ █▄▄ ▄▄██ ▄▄▄██ ██ ██ █████
██ █████ ███ ██ █ █ ███ ████ ▄▄▄██ █ █ ███ ████ ▄▄███ ██ ██ █████
██ ▀▀▄██ ▀▀▀ ██ ██▄ ███ ████ ▀▀▀██ ██▄ ███ ████ █████▄▀▀▄██ ▀▀ ██
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
-->

<Provider Name="Contentful" Id="3d820b1e-33c7-4934-a783-48745343d53b"
Documentation="https://www.contentful.com/developers/docs/extensibility/oauth/">
<Environment Issuer="https://be.contentful.com">
<Configuration AuthorizationEndpoint="https://be.contentful.com/oauth/authorize"
TokenEndpoint="https://be.contentful.com/oauth/token"
UserInfoEndpoint="https://api.contentful.com/users/me" />
</Environment>
</Provider>

<!--
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██ ▄▄▀█ ▄▄▀█▄ ▄██ █████ ███ ██ ▄▀▄ ██ ▄▄▄ █▄▄ ▄▄█▄ ▄██ ▄▄▄ ██ ▀██ ██
Expand Down