@@ -20,49 +20,19 @@ const validateApiKey = (req, res, next) => {
2020} ;
2121
2222// JWT authentication middleware
23+ // Auth wall is disabled — always use the single default user.
2324const authenticateToken = async ( req , res , next ) => {
24- // Platform mode: use single database user
25- if ( IS_PLATFORM ) {
26- try {
27- const user = userDb . getFirstUser ( ) ;
28- if ( ! user ) {
29- return res . status ( 500 ) . json ( { error : 'Platform mode: No user found in database' } ) ;
30- }
31- req . user = user ;
32- return next ( ) ;
33- } catch ( error ) {
34- console . error ( 'Platform mode error:' , error ) ;
35- return res . status ( 500 ) . json ( { error : 'Platform mode: Failed to fetch user' } ) ;
36- }
37- }
38-
39- // Normal OSS JWT validation
40- const authHeader = req . headers [ 'authorization' ] ;
41- let token = authHeader && authHeader . split ( ' ' ) [ 1 ] ; // Bearer TOKEN
42-
43- // Also check query param for SSE endpoints (EventSource can't set headers)
44- if ( ! token && req . query . token ) {
45- token = req . query . token ;
46- }
47-
48- if ( ! token ) {
49- return res . status ( 401 ) . json ( { error : 'Access denied. No token provided.' } ) ;
50- }
51-
5225 try {
53- const decoded = jwt . verify ( token , JWT_SECRET ) ;
54-
55- // Verify user still exists and is active
56- const user = userDb . getUserById ( decoded . userId ) ;
26+ let user = userDb . getFirstUser ( ) ;
5727 if ( ! user ) {
58- return res . status ( 401 ) . json ( { error : 'Invalid token. User not found.' } ) ;
28+ // Auto-create a default user on first access
29+ user = ensureDefaultUser ( ) ;
5930 }
60-
6131 req . user = user ;
62- next ( ) ;
32+ return next ( ) ;
6333 } catch ( error ) {
64- console . error ( 'Token verification error:' , error ) ;
65- return res . status ( 403 ) . json ( { error : 'Invalid token ' } ) ;
34+ console . error ( 'Auth middleware error:' , error ) ;
35+ return res . status ( 500 ) . json ( { error : 'Failed to resolve user ' } ) ;
6636 }
6737} ;
6838
@@ -78,32 +48,26 @@ const generateToken = (user) => {
7848 ) ;
7949} ;
8050
81- // WebSocket authentication function
82- const authenticateWebSocket = ( token ) => {
83- // Platform mode: bypass token validation, return first user
84- if ( IS_PLATFORM ) {
85- try {
86- const user = userDb . getFirstUser ( ) ;
87- if ( user ) {
88- return { userId : user . id , username : user . username } ;
89- }
90- return null ;
91- } catch ( error ) {
92- console . error ( 'Platform mode WebSocket error:' , error ) ;
93- return null ;
94- }
95- }
96-
97- // Normal OSS JWT validation
98- if ( ! token ) {
99- return null ;
100- }
51+ // Auto-create a default user if the database is empty
52+ function ensureDefaultUser ( ) {
53+ const placeholder = '$2b$12$placeholder.hash.not.used.for.login' ;
54+ const created = userDb . createUser ( 'default' , placeholder ) ;
55+ // Mark onboarding as complete so the user goes straight to the app
56+ userDb . completeOnboarding ( created . id ) ;
57+ return userDb . getUserById ( created . id ) ;
58+ }
10159
60+ // WebSocket authentication function
61+ // Auth wall is disabled — always return the default user.
62+ const authenticateWebSocket = ( _token ) => {
10263 try {
103- const decoded = jwt . verify ( token , JWT_SECRET ) ;
104- return decoded ;
64+ let user = userDb . getFirstUser ( ) ;
65+ if ( ! user ) {
66+ user = ensureDefaultUser ( ) ;
67+ }
68+ return { userId : user . id , username : user . username } ;
10569 } catch ( error ) {
106- console . error ( 'WebSocket token verification error:' , error ) ;
70+ console . error ( 'WebSocket auth error:' , error ) ;
10771 return null ;
10872 }
10973} ;
0 commit comments