diff --git a/.gitignore b/.gitignore index 3c787de..60c8a59 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,5 @@ dist-ssr *.sw? .env dashboard/build/** -dashboard-server/frontend/build/** \ No newline at end of file +dashboard-server/frontend/build/** +._* \ No newline at end of file diff --git a/dashboard-server/auth-server/index.js b/dashboard-server/auth-server/index.js index d191bce..5e81177 100644 --- a/dashboard-server/auth-server/index.js +++ b/dashboard-server/auth-server/index.js @@ -38,7 +38,13 @@ const corsOptions = { console.log('CORS check for origin:', origin); - // Check if origin is allowed + // Allow local network IPs (192.168.1.xxx) + if (origin && origin.match(/^http:\/\/192\.168\.1\.\d{1,3}(:\d+)?$/)) { + callback(null, true); + return; + } + + // Check if origin is in allowed list if (!origin || allowedOrigins.indexOf(origin) !== -1) { callback(null, true); } else { @@ -96,19 +102,19 @@ app.post('/login', (req, res) => { expiresIn: '24h' }); - // Determine if request is from localhost - const isLocalhost = req.headers.origin?.includes('localhost'); + // Determine if request is from local network + const isLocalNetwork = req.headers.origin?.includes('192.168.1.') || req.headers.origin?.includes('localhost'); const cookieOptions = { httpOnly: true, - secure: !isLocalhost, - sameSite: isLocalhost ? 'lax' : 'none', + secure: !isLocalNetwork, // Only use secure for non-local requests + sameSite: isLocalNetwork ? 'lax' : 'none', path: '/', maxAge: 24 * 60 * 60 * 1000 // 24 hours }; - // Add domain only for production - if (!isLocalhost) { + // Only set domain for production + if (!isLocalNetwork) { cookieOptions.domain = '.kent.pw'; } @@ -163,13 +169,13 @@ app.get('/check', (req, res) => { }); app.post('/logout', (req, res) => { - const isLocalhost = req.headers.origin?.includes('localhost'); + const isLocalNetwork = req.headers.origin?.includes('192.168.1.') || req.headers.origin?.includes('localhost'); const cookieOptions = { httpOnly: true, - secure: !isLocalhost, - sameSite: isLocalhost ? 'lax' : 'none', + secure: !isLocalNetwork, + sameSite: isLocalNetwork ? 'lax' : 'none', path: '/', - domain: isLocalhost ? undefined : '.kent.pw' + domain: isLocalNetwork ? undefined : '.kent.pw' }; console.log('Clearing cookie with options:', cookieOptions); diff --git a/dashboard/src/App.jsx b/dashboard/src/App.jsx index 9834078..c2b2d8d 100644 --- a/dashboard/src/App.jsx +++ b/dashboard/src/App.jsx @@ -91,27 +91,31 @@ const DashboardLayout = () => {