| @@ -3,38 +3,10 @@ const trim = (value: string | undefined): string | undefined => { · 2 unmodified lines |
| 3 | return candidate && candidate.length > 0 ? candidate : undefined; | 3 | return candidate && candidate.length > 0 ? candidate : undefined; |
| 4 | }; | 4 | }; |
| 5 | | 5 | |
| 6 | const isTruthy = (value: string | undefined): boolean => { | | |
| 7 | const normalized = trim(value)?.toLowerCase(); | | |
| 8 | return normalized === "1" || normalized === "true" || normalized === "yes"; | | |
| 9 | }; | | |
| 10 | | | |
| 11 | export const isLocalControlPlaneUpstream = (): boolean => { | | |
| 12 | const upstream = trim(process.env.CONTROL_PLANE_UPSTREAM_URL) ?? "http://127.0.0.1:8788"; | | |
| 13 | | | |
| 14 | try { | | |
| 15 | const url = new URL(upstream); | | |
| 16 | return ( | | |
| 17 | url.hostname === "127.0.0.1" | | |
| 18 | || url.hostname === "localhost" | | |
| 19 | || url.hostname === "0.0.0.0" | | |
| 20 | || url.hostname === "::1" | | |
| 21 | || url.hostname === "[::1]" | | |
| 22 | ); | | |
| 23 | } catch { | | |
| 24 | return false; | | |
| 25 | } | | |
| 26 | }; | | |
| 27 | | | |
| 28 | export const isWorkosEnabled = (): boolean => { | 6 | export const isWorkosEnabled = (): boolean => { |
| 29 | if (isTruthy(process.env.WORKOS_FORCE_ENABLED)) { | 7 | return Boolean( |
| 30 | return Boolean(trim(process.env.WORKOS_CLIENT_ID) && trim(process.env.WORKOS_API_KEY)); | 8 | trim(process.env.WORKOS_CLIENT_ID) && trim(process.env.WORKOS_API_KEY), |
| 31 | } | 9 | ); |
| 32 | | | |
| 33 | if (isLocalControlPlaneUpstream()) { | | |
| 34 | return false; | | |
| 35 | } | | |
| 36 | | | |
| 37 | return Boolean(trim(process.env.WORKOS_CLIENT_ID) && trim(process.env.WORKOS_API_KEY)); | | |
| 38 | }; | 10 | }; |
| 39 | | 11 | |
| 40 | export const externalOriginFromRequest = (request: Request): string => { | 12 | export const externalOriginFromRequest = (request: Request): string => { |