ReferenzSkillsSkill-Authentifizierung

Skill

Skill-Authentifizierung

Bewahren Sie Skill-Anmeldedaten in XMEMO_KEY oder dem unterstützten Geräteanmelde-Flow auf, niemals in öffentlicher Ausgabe.

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 --verify

Gerä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 --verify

Grenzen 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-plaintext

Abmeldung 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-token

Skill-Authentifizierung

Skills sind der Anweisungs- und Befehlspfad für Agenten, die einen gehosteten MCP-Server nicht direkt einbinden.

XMemo Skills öffnen

Quelle: XMemo Skills