| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import { ThirdPartyAuthIntegration } from '@/data/third-party-auth/integrations-query'
- import { BASE_PATH } from '@/lib/constants'
- export const INTEGRATION_TYPES = [
- 'firebase',
- 'auth0',
- 'awsCognito',
- 'clerk',
- 'workos',
- 'custom',
- ] as const
- export type INTEGRATION_TYPES = (typeof INTEGRATION_TYPES)[number]
- export const getIntegrationType = (integration?: ThirdPartyAuthIntegration): INTEGRATION_TYPES => {
- if (integration?.type === 'workos') {
- return 'workos'
- }
- // TODO(hf): Move these to check type as well.
- if (integration?.oidc_issuer_url?.startsWith('https://securetoken.google.com/')) {
- return 'firebase'
- }
- if (integration?.oidc_issuer_url?.includes('amazonaws.com')) {
- return 'awsCognito'
- }
- if (integration?.oidc_issuer_url?.includes('auth0.com')) {
- return 'auth0'
- }
- if (
- integration?.oidc_issuer_url?.includes('.clerk.accounts.dev') ||
- integration?.oidc_issuer_url?.startsWith('https://clerk.')
- ) {
- return 'clerk'
- }
- return 'custom'
- }
- export const getIntegrationTypeLabel = (type: INTEGRATION_TYPES) => {
- switch (type) {
- case 'firebase':
- return 'Firebase'
- case 'auth0':
- return 'Auth0'
- case 'awsCognito':
- return 'Amazon Cognito'
- case 'clerk':
- return 'Clerk'
- case 'workos':
- return 'WorkOS'
- case 'custom':
- default:
- return 'Custom'
- }
- }
- export const getIntegrationTypeIcon = (type: INTEGRATION_TYPES) => {
- switch (type) {
- case 'firebase':
- return `${BASE_PATH}/img/icons/firebase-icon.svg`
- case 'auth0':
- return `${BASE_PATH}/img/icons/auth0-icon.svg`
- case 'awsCognito':
- return `${BASE_PATH}/img/icons/cognito-icon.svg`
- case 'clerk':
- return `${BASE_PATH}/img/icons/clerk-icon.svg`
- case 'workos':
- return `${BASE_PATH}/img/icons/workos-icon.svg`
- case 'custom':
- default:
- return `${BASE_PATH}/img/icons/cognito-icon.svg`
- }
- }
|