security: MIT-Lizenz, .gitignore härten, Fail-Fast für SESSION_SECRET
- LICENSE: MIT-Lizenz (bereits vorhanden, korrekt) - package.json: "license": "MIT" ergänzt - README.md: Lizenz-Badge auf MIT aktualisiert, Lizenz-Sektion angepasst - .gitignore: .claude/ und *.txt hinzugefügt (verhindert versehentliches Committen von Claude Code Einstellungen und Token-Textdateien) - server/auth.js: Fail-Fast in Produktion wenn SESSION_SECRET fehlt; Fallback-String auf 'dev-only-secret-not-for-production' umbenannt (klarere Intention, kein bekannter Produktions-Wert im Public Repo) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -26,3 +26,9 @@ dist/
|
|||||||
.idea/
|
.idea/
|
||||||
*.swp
|
*.swp
|
||||||
*.swo
|
*.swo
|
||||||
|
|
||||||
|
# Claude Code (enthält lokale Berechtigungen und ggf. Tokens)
|
||||||
|
.claude/
|
||||||
|
|
||||||
|
# Textdateien mit Tokens/Keys (Sicherheitsnetz)
|
||||||
|
*.txt
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
[](https://www.docker.com)
|
[](https://www.docker.com)
|
||||||
[](https://www.zetetic.net/sqlcipher/)
|
[](https://www.zetetic.net/sqlcipher/)
|
||||||
[](https://web.dev/progressive-web-apps/)
|
[](https://web.dev/progressive-web-apps/)
|
||||||
[](./LICENSE)
|
[](./LICENSE)
|
||||||
|
|
||||||
Alle Daten bleiben auf deinem eigenen Server.
|
Alle Daten bleiben auf deinem eigenen Server.
|
||||||
Kein Cloud-Zwang. Keine Datenweitergabe. Kein Tracking.
|
Kein Cloud-Zwang. Keine Datenweitergabe. Kein Tracking.
|
||||||
@@ -284,4 +284,4 @@ docker compose up -d
|
|||||||
|
|
||||||
## Lizenz
|
## Lizenz
|
||||||
|
|
||||||
Privates Projekt — nicht für den öffentlichen Einsatz lizenziert.
|
[MIT](./LICENSE) © 2025 ulsklyc
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
"googleapis": "^144.0.0",
|
"googleapis": "^144.0.0",
|
||||||
"tsdav": "^2.0.10"
|
"tsdav": "^2.0.10"
|
||||||
},
|
},
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=20.0.0"
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -31,9 +31,13 @@ const sessionStore = new SQLiteStore({
|
|||||||
* Session-Middleware konfigurieren.
|
* Session-Middleware konfigurieren.
|
||||||
* Wird in server/index.js eingebunden.
|
* Wird in server/index.js eingebunden.
|
||||||
*/
|
*/
|
||||||
|
if (process.env.NODE_ENV === 'production' && !process.env.SESSION_SECRET) {
|
||||||
|
throw new Error('[Auth] SESSION_SECRET muss in der .env gesetzt sein (Produktion).');
|
||||||
|
}
|
||||||
|
|
||||||
const sessionMiddleware = session({
|
const sessionMiddleware = session({
|
||||||
store: sessionStore,
|
store: sessionStore,
|
||||||
secret: process.env.SESSION_SECRET || 'dev-secret-AENDERN-IN-PRODUKTION',
|
secret: process.env.SESSION_SECRET || 'dev-only-secret-not-for-production',
|
||||||
resave: false,
|
resave: false,
|
||||||
saveUninitialized: false,
|
saveUninitialized: false,
|
||||||
name: 'oikos.sid',
|
name: 'oikos.sid',
|
||||||
|
|||||||
Reference in New Issue
Block a user