Rangfolge bei der Auflösung von Anmeldedaten
Die eigenständige Skill-Laufzeitumgebung löst Anmeldedaten nach einer strengen dreistufigen Rangfolge auf. Verwaltete externe Secrets haben stets Vorrang vor lokalen Dateien, wodurch sichergestellt wird, dass Tokens bei Vorhandensein eines Umgebungs-Secrets niemals auf der Festplatte dupliziert werden.
- 1. XMEMO_KEY: Umgebungsvariable oder verwalteter Secret-Speicher (Doppler, 1Password, Vault). Bevorzugt; wird niemals in lokale Anmeldedatendateien kopiert.
- 2. Meta Muse Secure Vault: Ersatz-Vault-Auflösung in unterstützten Meta Muse-Umgebungen.
- 3. Lokale Anmeldedatendatei: ~/.xmemo/skill-credentials.json (oder $XMEMO_CREDENTIALS_PATH), wird nur als Fallback gelesen, wenn keine Umgebungs-Anmeldedaten gesetzt sind.
- OpenClaw-Egress-Anforderung: OpenClaw-Egress ist eine Transportanforderung, die innerhalb des XMEMO_KEY-Zweigs (auth-state.mjs) behandelt wird. Wird ein OpenClaw-Sentinel erkannt, wird die Erreichbarkeit des Egress-Proxys erzwungen; dies ist eine Transportüberprüfung innerhalb von XMEMO_KEY, keine separate Anmeldedatenquelle.
- Null Token-Exposition: Befehle und doctor-Diagnosen geben niemals aktive Tokens oder Secret-Präfixe aus.
# Preferred: provide credential via environment or secret store
export XMEMO_KEY='<your-xmemo-token>'
# Inspect active credential source and scopes without printing secrets:
node scripts/xmemo-skill.mjs auth status --verifyGeräteanmeldung und informierte Klartext-Wahl
Wenn kein verwalteter Umgebungsschlüssel vorhanden ist, verwendet die interaktive Einrichtung die browserbasierte Geräteautorisierung. Der Benutzer genehmigt den Zugriff im Browser, und der Browser zeigt den Bearer-Token-Wert niemals an.
- Explizite Klartext-Zustimmung: Der Befehl login erfordert --allow-plaintext, um die informierte Zustimmung zur unverschlüsselten Speicherung des Tokens auf dem lokalen Rechner zu bestätigen.
- Eingeschränkte Dateiberechtigungen: ~/.xmemo/skill-credentials.json wird mit 0600 POSIX-Berechtigungen erstellt (nur durch den Eigentümer les- und schreibbar).
- Sicherer stdin-Import: Importieren Sie ein vorhandenes Token über die Standardeingabe mit auth add --from-stdin --allow-plaintext, um Befehlszeilenargumente und Protokollierung im Shell-Verlauf zu vermeiden.
- Geräteautorisierungs-Endpunkte: POST /v1/auth/device/start (Ablauf initiieren), POST /v1/auth/device/token (Abfragen und Austauschen), POST /v1/auth/token/validate (Verifizieren), POST /v1/auth/token/revoke-self (Widerrufen).
# Start interactive device login (requires explicit plaintext flag):
node scripts/xmemo-skill.mjs login --allow-plaintext
# Or pipe an existing token securely from standard input:
printf '%s' "$XMEMO_KEY" | node scripts/xmemo-skill.mjs auth add --from-stdin --allow-plaintext
# Verify active session status:
node scripts/xmemo-skill.mjs auth status --verifyGrenzen der temporären Registrierung
Für unbeaufsichtigte Umgebungen oder wenn eine Person die formelle Anmeldung ablehnt, kann die Skill eine temporäre Speicher-Sandbox registrieren. Temporärer Speicher ist streng begrenzt und nur für kurzzeitige Betriebskontinuität vorgesehen.
- Nur unbeaufsichtigt oder abgelehnt: node scripts/xmemo-skill.mjs register --reason <unattended|declined> --allow-plaintext.
- Kapazitätsobergrenze: Begrenzt auf maximal 100 Elemente.
- Aufbewahrungs-TTL: 14 Tage Inaktivitäts-TTL und 30 Tage absolute maximale Lebensdauer.
- Zweistufige Übernahme-Übergabe: Gibt eine Bind-URL (bind_url) aus, über die ein menschlicher Operator das temporäre Konto übernehmen und an formelle Anmeldedaten binden kann.
- Befehle zur Übernahmeverwaltung: auth claim-status prüft ausstehende Übernahmen, auth claim-confirm akzeptiert die formelle Token-Übergabe und auth claim-deny lehnt die Bindung ab.
- Sandbox-Einschränkungen: Temporäre Konten können keine Neustart-Snapshots erfassen (restart-snapshot) oder auf Knowledge-Bases zugreifen (recall-context --include_knowledge true).
# Register temporary sandbox:
node scripts/xmemo-skill.mjs register --reason unattended --allow-plaintext
# Inspect and manage claim binding:
node scripts/xmemo-skill.mjs auth claim-status --allow-plaintext
node scripts/xmemo-skill.mjs auth claim-confirm --allow-plaintext
node scripts/xmemo-skill.mjs auth claim-deny --allow-plaintextAbmeldung und anbietergerechter Widerruf
Das Abmelden hebt die Verknüpfung der lokalen Anmeldedatendatei auf und widerruft das aktive Sitzungstoken auf dem Server selbst. Externe Secret-Provider müssen in ihren eigenen Umgebungen verwaltet werden.
- Lokale Sitzungsabmeldung: node scripts/xmemo-skill.mjs logout entfernt ~/.xmemo/skill-credentials.json und ruft /v1/auth/token/revoke-self auf.
- Externes Umgebungs-Token: Wenn XMEMO_KEY die aktiven Anmeldedaten bereitstellt, belässt die Abmeldung dieses Token unverändert, es sei denn, --revoke-environment-token wird explizit übergeben.
- Lokales Entfernen ist kein globaler Widerruf: Das Entfernen des lokalen Skill-Verzeichnisses oder die lokale Abmeldung widerruft KEINE Tokens, die in Cloud-Secret-Tresoren, CI/CD-Runnern oder anderen Maschinen gespeichert sind.
- Externe Bereinigung: Heben Sie XMEMO_KEY in der Shell auf oder löschen Sie das Secret aus Ihrem Secret-Manager, um den Zugriff dauerhaft zu deautorisieren.
# Log out and revoke local credential file:
node scripts/xmemo-skill.mjs logout
# Log out and revoke external environment token remotely:
node scripts/xmemo-skill.mjs logout --revoke-environment-tokenSkill-Authentifizierung
Skills sind der Anweisungs- und Befehlspfad für Agenten, die einen gehosteten MCP-Server nicht direkt einbinden.
Quelle: XMemo Skills