- Browser-Token-Auth (INXT_TOKEN, INXT_MNEMONIC) - Phase 1: PROPFIND (Verzeichnis auflisten) - Drive API + Pfad-Resolver - Dokumentation: Auth, Architektur, WSL Made-with: Cursor
69 lines
2.5 KiB
Markdown
69 lines
2.5 KiB
Markdown
# 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.
|