Initial commit: WebDAV-Adapter für Internxt Drive
- Browser-Token-Auth (INXT_TOKEN, INXT_MNEMONIC) - Phase 1: PROPFIND (Verzeichnis auflisten) - Drive API + Pfad-Resolver - Dokumentation: Auth, Architektur, WSL Made-with: Cursor
This commit is contained in:
68
docs/browser-token-auth.md
Normal file
68
docs/browser-token-auth.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# Browser-Token-Authentifizierung (Ansatz B)
|
||||
|
||||
Da der API-Login für Ihren Account-Typ blockiert ist, können Sie sich im Browser einloggen und die Session-Daten für den WebDAV-Wrapper verwenden.
|
||||
|
||||
## Ablauf
|
||||
|
||||
1. Auf https://drive.internxt.com einloggen
|
||||
2. Token und Mnemonic aus dem Browser extrahieren
|
||||
3. In `.env` eintragen
|
||||
4. WebDAV-Server starten
|
||||
|
||||
## Token extrahieren
|
||||
|
||||
### Schritt 1: Alle gespeicherten Keys anzeigen
|
||||
|
||||
Auf **https://drive.internxt.com** eingeloggt sein. DevTools (F12) → **Console**:
|
||||
|
||||
```javascript
|
||||
// Alle localStorage-Keys anzeigen
|
||||
Object.keys(localStorage).filter(k => k.includes('x') || k.includes('token') || k.includes('Token')).forEach(k => console.log(k));
|
||||
```
|
||||
|
||||
Damit sehen Sie, welche Keys es gibt (z.B. `xNewToken`, `xMnemonic`, `xUser`).
|
||||
|
||||
### Schritt 2: Token und Mnemonic auslesen
|
||||
|
||||
```javascript
|
||||
// Token und Mnemonic anzeigen
|
||||
console.log('Token:', localStorage.getItem('xNewToken') || localStorage.getItem('xToken') || '(nicht gefunden)');
|
||||
console.log('Mnemonic:', localStorage.getItem('xMnemonic') || '(nicht gefunden)');
|
||||
```
|
||||
|
||||
### Schritt 3: Falls nichts gefunden wird
|
||||
|
||||
- **Application-Tab prüfen:** DevTools → **Application** (oder **Anwendung**) → links **Local Storage** → **https://drive.internxt.com** auswählen. Dort alle Einträge durchsehen.
|
||||
- **Richtige URL:** Sie müssen auf `https://drive.internxt.com` sein (nicht internxt.com) und **eingeloggt** sein – nach dem Login auf `/drive` oder `/app`.
|
||||
- **Session vs. Local:** Manche Werte liegen in `sessionStorage`. Testen mit:
|
||||
```javascript
|
||||
console.log('sessionStorage:', Object.keys(sessionStorage));
|
||||
```
|
||||
- **Alle Keys anzeigen:** Zum Debuggen alle Keys mit Werten:
|
||||
```javascript
|
||||
for (let i = 0; i < localStorage.length; i++) {
|
||||
const k = localStorage.key(i);
|
||||
console.log(k + ':', localStorage.getItem(k)?.substring(0, 50) + '...');
|
||||
}
|
||||
```
|
||||
|
||||
## .env eintragen
|
||||
|
||||
```
|
||||
INXT_TOKEN=eyJhbGciOiJIUzI1NiIs...
|
||||
INXT_MNEMONIC=word1 word2 word3 ...
|
||||
```
|
||||
|
||||
## WebDAV-Server starten
|
||||
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
|
||||
Server läuft auf `http://127.0.0.1:3005`. Phase 1 (PROPFIND) ist aktiv – Verzeichnisinhalt kann aufgelistet werden. Windows Explorer: Netzlaufwerk verbinden → `http://127.0.0.1:3005`.
|
||||
|
||||
## Hinweise
|
||||
|
||||
- **Token-Ablauf**: Tokens laufen nach einiger Zeit ab (typisch Stunden). Bei 401-Fehlern erneut einloggen und Token aktualisieren.
|
||||
- **Sicherheit**: Mnemonic und Token sind hochsensibel. Nicht in Git committen, `.env` in `.gitignore` belassen.
|
||||
- **Nur für Sie**: Die Tokens sind an Ihre Session gebunden. Für andere Nutzer funktioniert dieser Ansatz nicht.
|
||||
Reference in New Issue
Block a user