@@ -6,6 +6,22 @@ import * as schema from '../database/schema'
66type Auth = ReturnType < typeof betterAuth >
77let _auth : Auth | undefined
88
9+ function resolveTrustedOrigins ( baseUrl : string ) : string [ ] {
10+ const configuredOrigins = env . BETTER_AUTH_TRUSTED_ORIGINS
11+ const baseOrigin = new URL ( baseUrl )
12+ const isLocalBase = baseOrigin . hostname === 'localhost' || baseOrigin . hostname === '127.0.0.1'
13+ const defaultDevOrigins = ( import . meta. dev || isLocalBase )
14+ ? [
15+ 'http://localhost:3000' ,
16+ 'http://localhost:3001' ,
17+ 'http://127.0.0.1:3000' ,
18+ 'http://127.0.0.1:3001' ,
19+ ]
20+ : [ ]
21+
22+ return Array . from ( new Set ( [ baseOrigin . origin , ...configuredOrigins , ...defaultDevOrigins ] ) )
23+ }
24+
925function resolveBetterAuthUrl ( ) : string {
1026 const explicitUrl = env . BETTER_AUTH_URL ?. trim ( )
1127 const railwayDomain = env . RAILWAY_PUBLIC_DOMAIN ?. trim ( )
@@ -53,8 +69,11 @@ function resolveBetterAuthUrl(): string {
5369 */
5470function getAuth ( ) : Auth {
5571 if ( ! _auth ) {
72+ const baseURL = resolveBetterAuthUrl ( )
73+
5674 _auth = betterAuth ( {
57- baseURL : resolveBetterAuthUrl ( ) ,
75+ baseURL,
76+ trustedOrigins : resolveTrustedOrigins ( baseURL ) ,
5877 database : drizzleAdapter ( db , {
5978 provider : 'pg' ,
6079 schema,
0 commit comments