Improve authentication by supporting external servers
Update Replit authentication to use environment variables for domains and REPL ID. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 42d8028a-fa71-4ec2-938c-e43eedf7df01 Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/6d543d2c-20b9-4ea6-93fe-70fe9b1d9f80/42d8028a-fa71-4ec2-938c-e43eedf7df01/AwjfjCW
This commit is contained in:
parent
7c9ba798ed
commit
c82fafd438
4
.replit
4
.replit
@ -23,6 +23,10 @@ externalPort = 3001
|
||||
localPort = 41343
|
||||
externalPort = 3000
|
||||
|
||||
[[ports]]
|
||||
localPort = 42157
|
||||
externalPort = 3003
|
||||
|
||||
[[ports]]
|
||||
localPort = 42175
|
||||
externalPort = 3002
|
||||
|
||||
@ -0,0 +1,185 @@
|
||||
bash deploy/deploy.sh
|
||||
🚀 Deployment VigilanzaTurni - Thu Oct 16 11:58:04 EDT 2025
|
||||
📥 Pull ultime modifiche da GitLab...
|
||||
From https://git.alfacom.it/marco/VigilanzaTurni
|
||||
* branch main -> FETCH_HEAD
|
||||
Already up to date.
|
||||
💾 Backup database pre-deployment...
|
||||
✅ Backup salvato: /var/backups/vigilanza-turni/backup_20251016_115804.sql
|
||||
✅ Backup compresso: /var/backups/vigilanza-turni/backup_20251016_115804.sql.gz
|
||||
🧹 Backup vecchi eliminati (retention: 30 giorni)
|
||||
📥 Installazione dipendenze (include devDependencies)...
|
||||
|
||||
added 399 packages, and audited 400 packages in 12s
|
||||
|
||||
57 packages are looking for funding
|
||||
run `npm fund` for details
|
||||
|
||||
found 0 vulnerabilities
|
||||
🏗️ Build frontend Vite...
|
||||
|
||||
> rest-express@1.0.0 build
|
||||
> node node_modules/vite/bin/vite.js build && node_modules/.bin/esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist
|
||||
|
||||
node:internal/modules/cjs/loader:1215
|
||||
throw err;
|
||||
^
|
||||
|
||||
Error: Cannot find module '/var/www/vigilanza-turni/node_modules/vite/bin/vite.js'
|
||||
at Module._resolveFilename (node:internal/modules/cjs/loader:1212:15)
|
||||
at Module._load (node:internal/modules/cjs/loader:1043:27)
|
||||
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12)
|
||||
at node:internal/main/run_main_module:28:49 {
|
||||
code: 'MODULE_NOT_FOUND',
|
||||
requireStack: []
|
||||
}
|
||||
|
||||
Node.js v20.19.2
|
||||
[root@localhost vigilanza-turni]# nano deploy/deploy.sh
|
||||
[root@localhost vigilanza-turni]# bash deploy/deploy.sh
|
||||
🚀 Deployment VigilanzaTurni - Thu Oct 16 12:01:24 EDT 2025
|
||||
📥 Pull ultime modifiche da GitLab...
|
||||
From https://git.alfacom.it/marco/VigilanzaTurni
|
||||
* branch main -> FETCH_HEAD
|
||||
Already up to date.
|
||||
💾 Backup database pre-deployment...
|
||||
✅ Backup salvato: /var/backups/vigilanza-turni/backup_20251016_120124.sql
|
||||
✅ Backup compresso: /var/backups/vigilanza-turni/backup_20251016_120124.sql.gz
|
||||
🧹 Backup vecchi eliminati (retention: 30 giorni)
|
||||
📥 Installazione dipendenze (include devDependencies)...
|
||||
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
|
||||
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
|
||||
|
||||
added 521 packages, and audited 522 packages in 12s
|
||||
|
||||
74 packages are looking for funding
|
||||
run `npm fund` for details
|
||||
|
||||
2 moderate severity vulnerabilities
|
||||
|
||||
To address all issues (including breaking changes), run:
|
||||
npm audit fix --force
|
||||
|
||||
Run `npm audit` for details.
|
||||
🏗️ Build frontend Vite...
|
||||
|
||||
> rest-express@1.0.0 build
|
||||
> node node_modules/vite/bin/vite.js build && node_modules/.bin/esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist
|
||||
|
||||
vite v6.4.0 building for production...
|
||||
|
||||
A PostCSS plugin did not pass the `from` option to `postcss.parse`. This may cause imported assets to be incorrectly
|
||||
transformed. If you've recently added a PostCSS plugin that raised this warning, please contact the package author to fix the issue.
|
||||
✓ 2683 modules transformed.
|
||||
../dist/public/index.html 1.49 kB │ gzip: 0.63 kB
|
||||
../dist/public/assets/index-DqscHyOA.css 75.10 kB │ gzip: 12.16 kB
|
||||
../dist/public/assets/index-VRh79lEQ.js 597.11 kB │ gzip: 175.56 kB
|
||||
|
||||
(!) Some chunks are larger than 500 kB after minification. Consider:
|
||||
- Using dynamic import() to code-split the application
|
||||
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
|
||||
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
|
||||
✓ built in 9.75s
|
||||
|
||||
dist/index.js 56.6kb
|
||||
|
||||
⚡ Done in 15ms
|
||||
🗄️ Verifica database schema...
|
||||
|
||||
> rest-express@1.0.0 db:push
|
||||
> node node_modules/drizzle-kit/bin.cjs push
|
||||
|
||||
node:internal/modules/cjs/loader:1215
|
||||
throw err;
|
||||
^
|
||||
|
||||
Error: Cannot find module '/var/www/vigilanza-turni/node_modules/drizzle-kit/bin.cjs'
|
||||
at Module._resolveFilename (node:internal/modules/cjs/loader:1212:15)
|
||||
at Module._load (node:internal/modules/cjs/loader:1043:27)
|
||||
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12)
|
||||
at node:internal/main/run_main_module:28:49 {
|
||||
code: 'MODULE_NOT_FOUND',
|
||||
requireStack: []
|
||||
}
|
||||
|
||||
Node.js v20.19.2
|
||||
⚠️ Schema push skipped (database già aggiornato)
|
||||
🔍 Usando PM2: /usr/local/bin/pm2
|
||||
🔄 Restart applicazione...
|
||||
[PM2] Applying action deleteProcessId on app [vigilanza-turni](ids: [ 0 ])
|
||||
[PM2] [vigilanza-turni](0) ✓
|
||||
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
|
||||
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
|
||||
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
|
||||
[PM2] Starting /usr/bin/npm in fork_mode (1 instance)
|
||||
[PM2] Done.
|
||||
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
|
||||
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
|
||||
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
|
||||
│ 0 │ vigilanza-turni │ fork │ 0 │ online │ 0% │ 5.4mb │
|
||||
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
|
||||
[PM2] Saving current process list...
|
||||
[PM2] Successfully saved in /root/.pm2/dump.pm2
|
||||
🏥 Health check...
|
||||
✅ Deployment completato con successo!
|
||||
[TAILING] Tailing last 20 lines for [vigilanza-turni] process (change the value with --lines option)
|
||||
/root/.pm2/logs/vigilanza-turni-error.log last 20 lines:
|
||||
0|vigilanz | ^
|
||||
0|vigilanz |
|
||||
0|vigilanz | Error: Environment variable REPLIT_DOMAINS not provided
|
||||
0|vigilanz | at file:///var/www/vigilanza-turni/dist/index.js:821:9
|
||||
0|vigilanz | at ModuleJob.run (node:internal/modules/esm/module_job:263:25)
|
||||
0|vigilanz | at async ModuleLoader.import (node:internal/modules/esm/loader:540:24)
|
||||
0|vigilanz | at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)
|
||||
0|vigilanz |
|
||||
0|vigilanz | Node.js v20.19.2
|
||||
0|vigilanz | file:///var/www/vigilanza-turni/dist/index.js:821
|
||||
0|vigilanz | throw new Error("Environment variable REPLIT_DOMAINS not provided");
|
||||
0|vigilanz | ^
|
||||
0|vigilanz |
|
||||
0|vigilanz | Error: Environment variable REPLIT_DOMAINS not provided
|
||||
0|vigilanz | at file:///var/www/vigilanza-turni/dist/index.js:821:9
|
||||
0|vigilanz | at ModuleJob.run (node:internal/modules/esm/module_job:263:25)
|
||||
0|vigilanz | at async ModuleLoader.import (node:internal/modules/esm/loader:540:24)
|
||||
0|vigilanz | at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)
|
||||
0|vigilanz |
|
||||
0|vigilanz | Node.js v20.19.2
|
||||
|
||||
/root/.pm2/logs/vigilanza-turni-out.log last 20 lines:
|
||||
0|vigilanz |
|
||||
0|vigilanz | > rest-express@1.0.0 start
|
||||
0|vigilanz | > NODE_ENV=production node dist/index.js
|
||||
0|vigilanz |
|
||||
0|vigilanz |
|
||||
0|vigilanz | > rest-express@1.0.0 start
|
||||
0|vigilanz | > NODE_ENV=production node dist/index.js
|
||||
0|vigilanz |
|
||||
0|vigilanz |
|
||||
0|vigilanz | > rest-express@1.0.0 start
|
||||
0|vigilanz | > NODE_ENV=production node dist/index.js
|
||||
0|vigilanz |
|
||||
0|vigilanz |
|
||||
0|vigilanz | > rest-express@1.0.0 start
|
||||
0|vigilanz | > NODE_ENV=production node dist/index.js
|
||||
0|vigilanz |
|
||||
0|vigilanz |
|
||||
0|vigilanz | > rest-express@1.0.0 start
|
||||
0|vigilanz | > NODE_ENV=production node dist/index.js
|
||||
0|vigilanz |
|
||||
|
||||
|
||||
📊 Status PM2:
|
||||
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
|
||||
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
|
||||
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
|
||||
│ 0 │ vigilanza-turni │ fork │ 4 │ online │ 0% │ 66.1mb │
|
||||
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
|
||||
|
||||
📈 Ultimi backup disponibili:
|
||||
-rw-r--r-- 1 root root 3.4K Oct 16 12:01 /var/backups/vigilanza-turni/backup_20251016_120124.sql.gz
|
||||
-rw-r--r-- 1 root root 3.4K Oct 16 11:58 /var/backups/vigilanza-turni/backup_20251016_115804.sql.gz
|
||||
-rw-r--r-- 1 root root 3.4K Oct 16 11:56 /var/backups/vigilanza-turni/backup_20251016_115644.sql.gz
|
||||
-rw-r--r-- 1 root root 3.4K Oct 16 11:55 /var/backups/vigilanza-turni/backup_20251016_115524.sql.gz
|
||||
-rw-r--r-- 1 root root 3.4K Oct 16 11:52 /var/backups/vigilanza-turni/backup_20251016_115244.sql.gz
|
||||
|
||||
🌐 Applicazione disponibile su: https://vt.alfacom.it
|
||||
@ -9,15 +9,15 @@ import memoize from "memoizee";
|
||||
import connectPg from "connect-pg-simple";
|
||||
import { storage } from "./storage";
|
||||
|
||||
if (!process.env.REPLIT_DOMAINS) {
|
||||
throw new Error("Environment variable REPLIT_DOMAINS not provided");
|
||||
}
|
||||
// Supporto deployment Replit e server esterni
|
||||
const REPLIT_DOMAINS = process.env.REPLIT_DOMAINS || process.env.DOMAIN || "vt.alfacom.it";
|
||||
const REPL_ID = process.env.REPL_ID || "vigilanza-turni";
|
||||
|
||||
const getOidcConfig = memoize(
|
||||
async () => {
|
||||
return await client.discovery(
|
||||
new URL(process.env.ISSUER_URL ?? "https://replit.com/oidc"),
|
||||
process.env.REPL_ID!
|
||||
REPL_ID
|
||||
);
|
||||
},
|
||||
{ maxAge: 3600 * 1000 }
|
||||
@ -85,8 +85,7 @@ export async function setupAuth(app: Express) {
|
||||
verified(null, user);
|
||||
};
|
||||
|
||||
for (const domain of process.env
|
||||
.REPLIT_DOMAINS!.split(",")) {
|
||||
for (const domain of REPLIT_DOMAINS.split(",")) {
|
||||
const strategy = new Strategy(
|
||||
{
|
||||
name: `replitauth:${domain}`,
|
||||
@ -120,7 +119,7 @@ export async function setupAuth(app: Express) {
|
||||
req.logout(() => {
|
||||
res.redirect(
|
||||
client.buildEndSessionUrl(config, {
|
||||
client_id: process.env.REPL_ID!,
|
||||
client_id: REPL_ID,
|
||||
post_logout_redirect_uri: `${req.protocol}://${req.hostname}`,
|
||||
}).href
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user