diff --git a/.changeset/chatgpt-oauth-provider.md b/.changeset/chatgpt-oauth-provider.md new file mode 100644 index 00000000000..c0e6fa42883 --- /dev/null +++ b/.changeset/chatgpt-oauth-provider.md @@ -0,0 +1,5 @@ +--- +"@clerk/shared": patch +--- + +Add ChatGPT as a supported OAuth provider strategy for instances where Sign in with ChatGPT is enabled. diff --git a/packages/shared/src/oauth.ts b/packages/shared/src/oauth.ts index b6b86050b83..53ce68339d4 100644 --- a/packages/shared/src/oauth.ts +++ b/packages/shared/src/oauth.ts @@ -1,6 +1,12 @@ import type { OAuthProvider, OAuthProviderData, OAuthStrategy } from './types'; export const OAUTH_PROVIDERS: OAuthProviderData[] = [ + { + provider: 'chatgpt', + strategy: 'oauth_chatgpt', + name: 'ChatGPT', + docsUrl: 'https://developers.openai.com/siwc/website', + }, { provider: 'google', strategy: 'oauth_google', diff --git a/packages/shared/src/types/oauth.ts b/packages/shared/src/types/oauth.ts index d6ebc366323..6d7b49c34d4 100644 --- a/packages/shared/src/types/oauth.ts +++ b/packages/shared/src/types/oauth.ts @@ -70,6 +70,8 @@ export type VercelOauthProvider = 'vercel'; /** @inline */ export type AgentIDOauthProvider = 'agentid'; /** @inline */ +export type ChatGPTOauthProvider = 'chatgpt'; +/** @inline */ export type CustomOauthProvider = `custom_${string}`; /** Represents the available OAuth providers. */ @@ -104,4 +106,5 @@ export type OAuthProvider = | HuggingfaceOAuthProvider | VercelOauthProvider | AgentIDOauthProvider + | ChatGPTOauthProvider | CustomOauthProvider; diff --git a/packages/ui/src/hooks/__tests__/useEnabledThirdPartyProviders.test.tsx b/packages/ui/src/hooks/__tests__/useEnabledThirdPartyProviders.test.tsx index 6824b96bafb..b3fee634f7e 100644 --- a/packages/ui/src/hooks/__tests__/useEnabledThirdPartyProviders.test.tsx +++ b/packages/ui/src/hooks/__tests__/useEnabledThirdPartyProviders.test.tsx @@ -35,6 +35,7 @@ describe('useEnabledThirdPartyProviders', () => { 'oauth_atlassian', 'oauth_bitbucket', 'oauth_box', + 'oauth_chatgpt', 'oauth_coinbase', 'oauth_discord', 'oauth_dropbox',