From 91014880df71c2618d0b1e513da4dd19ccd809e3 Mon Sep 17 00:00:00 2001 From: Yannis Fragoulis Date: Tue, 10 Oct 2023 14:48:19 +0300 Subject: [PATCH] feat(backend,clerk-js,types): Support the new LinkedIn OAuth Provider (#1772) LinkedIn has changed the OAuth flow by replacing it with OpenID Connect. We have already added support for this in the backend. --- .changeset/serious-zebras-sip.md | 7 +++++++ packages/backend/src/api/resources/Enums.ts | 1 + packages/clerk-js/src/ui/utils/test/fixtures.ts | 1 + packages/types/src/oauth.ts | 8 ++++++++ 4 files changed, 17 insertions(+) create mode 100644 .changeset/serious-zebras-sip.md diff --git a/.changeset/serious-zebras-sip.md b/.changeset/serious-zebras-sip.md new file mode 100644 index 0000000000..b9529c50a0 --- /dev/null +++ b/.changeset/serious-zebras-sip.md @@ -0,0 +1,7 @@ +--- +'@clerk/clerk-js': minor +'@clerk/backend': minor +'@clerk/types': minor +--- + +Add support for LinkedIn OIDC diff --git a/packages/backend/src/api/resources/Enums.ts b/packages/backend/src/api/resources/Enums.ts index fd53dd1800..7cc6005377 100644 --- a/packages/backend/src/api/resources/Enums.ts +++ b/packages/backend/src/api/resources/Enums.ts @@ -9,6 +9,7 @@ export type OAuthProvider = | 'twitter' | 'twitch' | 'linkedin' + | 'linkedin_oidc' | 'dropbox' | 'bitbucket' | 'microsoft' diff --git a/packages/clerk-js/src/ui/utils/test/fixtures.ts b/packages/clerk-js/src/ui/utils/test/fixtures.ts index 5cfcf3973e..c92b538c98 100644 --- a/packages/clerk-js/src/ui/utils/test/fixtures.ts +++ b/packages/clerk-js/src/ui/utils/test/fixtures.ts @@ -116,6 +116,7 @@ const socials = Object.freeze( 'oauth_twitter', 'oauth_twitch', 'oauth_linkedin', + 'oauth_linkedin_oidc', 'oauth_dropbox', 'oauth_atlassian', 'oauth_bitbucket', diff --git a/packages/types/src/oauth.ts b/packages/types/src/oauth.ts index 75cbceb646..8538895934 100644 --- a/packages/types/src/oauth.ts +++ b/packages/types/src/oauth.ts @@ -19,6 +19,7 @@ export type DiscordOauthProvider = 'discord'; export type TwitterOauthProvider = 'twitter'; export type TwitchOauthProvider = 'twitch'; export type LinkedinOauthProvider = 'linkedin'; +export type LinkedinOIDCOauthProvider = 'linkedin_oidc'; export type DropboxOauthProvider = 'dropbox'; export type AtlassianOauthProvider = 'atlassian'; export type BitbucketOauthProvider = 'bitbucket'; @@ -45,6 +46,7 @@ export type OAuthProvider = | TwitterOauthProvider | TwitchOauthProvider | LinkedinOauthProvider + | LinkedinOIDCOauthProvider | DropboxOauthProvider | AtlassianOauthProvider | BitbucketOauthProvider @@ -109,6 +111,12 @@ export const OAUTH_PROVIDERS: OAuthProviderData[] = [ name: 'LinkedIn', docsUrl: 'https://clerk.com/docs/authentication/social-connection-with-linkedin', }, + { + provider: 'linkedin_oidc', + strategy: 'oauth_linkedin_oidc', + name: 'LinkedIn', + docsUrl: 'https://clerk.com/docs/authentication/social-connections/linkedin-oidc', + }, { provider: 'github', strategy: 'oauth_github',