{% extends "base.html" %} {% import "components/ui.html" as ui with context %} {% block actions %} {% endblock %} {% block content %} {% if key_shadowed %} {% call ui.notice("warn") %}Der Schlüssel steht in einer echten Umgebungsvariablen. Die schlägt jede Datei, ein hier gespeicherter Wert bliebe also ohne Wirkung, solange sie gesetzt ist.{% endcall %} {% endif %}
{% call ui.card("API-Schlüssel", "hinterlegt" if has_key else "fehlt") %}

Der Schlüssel wird nach {{ env_path }} geschrieben. Er wird nie angezeigt, nie protokolliert und geht in keinen Export mit. {% if has_key %}{{ ui.badge(key_badge) }}{% endif %}

{{ ui.csrf_field() }} {{ ui.field("api_key", "API-Schlüssel", type="password", placeholder="unverändert lassen" if has_key else "hier einfügen", autocomplete="off", hint="In Lexware Office unter Erweiterungen, Public API zu erzeugen. Leer lassen ändert nichts.") }}

Sonst wird der Schlüssel erst gegen die API geprüft und nur bei Erfolg geschrieben.

{% endcall %} {% call ui.card("Verbindung") %} {% if account %}

Zuletzt verbunden mit {{ ui.account(account.label, facts) }}.

{% else %}

Seit dem Start dieser Oberfläche noch nicht getestet.

{% endif %}
{{ ui.csrf_field() }}

Ein Aufruf von GET /v1/profile. Nur auf Knopfdruck — diese Seiten sprechen von sich aus nie mit der API.

{% endcall %}
{% call ui.fold("HTTP-Token", "gesetzt" if bearer else "noch keins", open=bearer_open) %}

Nur für den HTTP-Transport. Über stdio startet der Client den Server selbst, da kann niemand sonst mit ihm sprechen — über einen Port schon, und dahinter liegt der Zugang zu echten Buchhaltungsdaten. Ohne Token startet der Server den HTTP-Transport nicht.

Dieses Token steht im Klartext, anders als der API-Schlüssel: es muss in die Konfiguration des Clients kopiert werden, sonst nützt es niemandem.

{% if bearer_held %} {{ ui.held("Token", bearer, code=bearer_key, source=bearer_badge, hint="Eine Umgebungsvariable setzt es und schlägt jede Datei, hier gespeichert änderte sich nichts.") }} {% else %}
{{ ui.csrf_field() }} {{ ui.field("bearer", "Token", value=bearer, code=bearer_key, source=bearer_badge, placeholder="noch keins", autocomplete="off") }}

Leer wird nicht angenommen. Neu erzeugen schreibt 32 zufällige Bytes — ein Client mit dem alten Token kommt danach nicht mehr durch.

{% endif %} {% endcall %} {% endblock %}