aYOUne
translate
Not in your language

This page is not yet available in en. You're reading the de version.

CORS & Auth

Wenn du aus einer Browser-App heraus die aYOUne-API ansprichst, brauchst du sowohl korrektes CORS-Setup als auch ein durchdachtes Token-Lifecycle-Modell. Beides ist hier zusammengefasst.

CORS-Verhalten

Per Default akzeptieren die Module-APIs nur Origins, die in der Customer-Konfiguration unter aYOUneCustomers.allowedOrigins[] registriert sind. Trag deinen Frontend-Origin dort ein:

ay update ayounecustomers <customerId> \
  --set allowedOrigins='["https://app.firma.tld","https://staging.firma.tld"]'

Wildcards (*.firma.tld) sind unterstützt. Auf Self-Hosted-Instanzen kannst du via Umgebungsvariable CORS_ORIGIN_OVERRIDE zusätzlich global öffnen — siehe Environment Variables.

JWT-Lifecycle

aYOUne arbeitet mit zwei Tokens:

Token TTL Zweck
Access-Token 15 min Bei jedem API-Call mitgeschickt
Refresh-Token 30 Tage Holt neue Access-Tokens

Access-Token erneuern

Erkennst du an einem Response mit 401, dass der Access-Token abgelaufen ist, hol dir den neuen via:

curl -X POST https://auth.ayoune.app/refresh \
  -H "Content-Type: application/json" \
  -d '{"refreshToken":"<refresh>"}'

Antwort: neues payload.token + neuer payload.refreshToken (Token-Rotation).

Logout & Revocation

curl -X POST https://auth.ayoune.app/logout \
  -H "Authorization: Bearer $TOKEN"

Logout setzt den Refresh-Token in die Blacklist. Access-Tokens laufen ohnehin in 15 min aus — wer höhere Sicherheit braucht, kann sie via ay storage set token schon vorher invalidieren.

Service-Token (Server-zu-Server)

Für Backend-Integrationen (z.B. dein ERP holt nachts Stündliche), nutze Service-Tokens:

ay create credentials "ERP-Sync" \
  --type service-account \
  --rights '["consumers.view","consumers.create"]'

Service-Tokens haben kein Refresh — du rotierst sie aktiv via ay credentials refresh <id>. Sie sind im Audit-Log als Aktor service:<name> zu erkennen.

SameSite & Cookies

aYOUne speichert Tokens nicht in Cookies — die Plattform vertraut auf Authorization-Header. Wenn du in einer SPA arbeitest, leg den Access-Token im Speicher (z.B. sessionStorage) ab, nie im localStorage. Refresh-Tokens gehören ausschließlich in HttpOnly + Secure + SameSite=Strict Cookies, falls du sie browserseitig hältst.

Multi-Tenant Customer-Switch

Ein User kann mehreren Customers angehören. Wechsle innerhalb derselben JWT-Session via:

curl -X GET "https://auth.ayoune.app/changecustomer?customerId=<id>" \
  -H "Authorization: Bearer $TOKEN"

Antwort: ein neues JWT mit dem gewählten Customer-Scope. Alte Tokens bleiben gültig, zeigen aber auf den vorherigen Customer.

Siehe auch: Audit-Trail.

Work with this page

Ready-made instructions for your AI tool. Copy, paste, go — the AI fetches the content itself via the address in the text.

Vertriebsunterlage daraus machen Nutzen und Einwaende statt Technik — fuer Gespraeche mit Interessenten.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/en/docs/developer-portal/cors-and-auth.md
Die vollstaendige Sammlung: https://ayoune.com/en/docs/developer-portal.md

Erstelle daraus eine **Vertriebsunterlage**. Nicht die Technik beschreiben, sondern:

1. Welches Problem loest das aus Kundensicht? In einem Satz.
2. Die drei staerksten Nutzen-Argumente, je mit dem technischen Beleg dahinter.
3. Fuer wen ist es NICHT geeignet — ehrlich, das schafft Vertrauen im Gespraech.
4. Die fuenf wahrscheinlichsten Einwaende und je eine belastbare Antwort.
5. Eine Kurzfassung von maximal 120 Woertern fuer die erste Mail.

Erfinde nichts. Wo die Quelle etwas nicht hergibt, schreib "nicht dokumentiert"
statt zu raten — eine erfundene Zusage im Vertrieb kostet spaeter mehr, als sie bringt.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Ueberblick aller oeffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
In einfachen Worten erklaeren Fuer Kolleginnen und Kollegen ohne Vorwissen im Thema.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/en/docs/developer-portal/cors-and-auth.md
Die vollstaendige Sammlung: https://ayoune.com/en/docs/developer-portal.md

Erklaere den Inhalt so, dass ihn jemand ohne Vorwissen versteht.

- Beginne mit dem Zweck: wozu gibt es das ueberhaupt?
- Fachbegriffe beim ersten Vorkommen in einem Halbsatz erklaeren.
- Ein Alltags-Vergleich, wo er wirklich traegt — keiner, wo er hinkt.
- Am Ende: die drei Dinge, die man sich merken sollte.

Kuerze nicht durch Weglassen von Einschraenkungen. Eine Vereinfachung, die eine
Bedingung unterschlaegt, ist eine Falschaussage.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Ueberblick aller oeffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Einarbeitungs-Leitfaden bauen Ein Weg vom ersten Tag bis zur selbststaendigen Arbeit.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/en/docs/developer-portal/cors-and-auth.md
Die vollstaendige Sammlung: https://ayoune.com/en/docs/developer-portal.md

Baue daraus einen **Einarbeitungs-Leitfaden** fuer eine neue Person im Team.

- In Etappen gliedern, jede mit einem pruefbaren Ergebnis ("danach kannst du X").
- Reihenfolge nach Abhaengigkeit, nicht nach Wichtigkeit.
- Je Etappe: was zu lesen ist, was zu tun ist, woran man merkt, dass es sitzt.
- Benenne die Stellen, an denen erfahrungsgemaess Rueckfragen entstehen.

Wo die Dokumentation eine Luecke hat, markiere sie als offene Frage an das Team,
statt sie zu ueberbruecken.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Ueberblick aller oeffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Luecken und offene Fragen finden Was fehlt, was widerspricht sich, was ist nicht belegt.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/en/docs/developer-portal/cors-and-auth.md
Die vollstaendige Sammlung: https://ayoune.com/en/docs/developer-portal.md

Pruefe die Dokumentation kritisch und benenne:

1. **Luecken** — was ein Leser braeuchte, aber nicht findet.
2. **Widersprueche** — Stellen, die sich gegenseitig ausschliessen.
3. **Unbelegtes** — Behauptungen ohne Beleg, Zahl oder Verweis.
4. **Veraltetes** — was nach Stand der Quelle ueberholt sein koennte.

Sortiere nach Auswirkung: was fuehrt einen Leser in die Irre, was ist nur unschoen.
Sei konkret mit Abschnitt und Zitat — eine allgemeine Kritik hilft niemandem.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Ueberblick aller oeffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Fragen und Antworten ableiten Fuer Hilfe-Center, Support-Team oder die Produktseite.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/en/docs/developer-portal/cors-and-auth.md
Die vollstaendige Sammlung: https://ayoune.com/en/docs/developer-portal.md

Leite daraus **Fragen und Antworten** ab.

- Formuliere die Fragen so, wie ein Nutzer sie stellen wuerde — nicht in Fachsprache.
- Jede Antwort in zwei bis vier Saetzen, mit Verweis auf den Abschnitt der Quelle.
- Ordne nach Haeufigkeit, mit der die Frage vermutlich auftritt.
- Nimm auch die unangenehmen Fragen auf (Grenzen, Kosten, Voraussetzungen).

Nur Fragen, die die Quelle wirklich beantwortet.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Ueberblick aller oeffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Arbeits-Checkliste erstellen Zum Abarbeiten waehrend der Umsetzung.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/en/docs/developer-portal/cors-and-auth.md
Die vollstaendige Sammlung: https://ayoune.com/en/docs/developer-portal.md

Mache daraus eine **abhakbare Checkliste** fuer die praktische Umsetzung.

- Je Punkt genau eine Handlung, im Imperativ.
- Reihenfolge so, dass kein Punkt eine spaetere Voraussetzung braucht.
- Voraussetzungen und Stolperstellen als eingerueckte Unterpunkte.
- Am Ende eine Abnahme: woran erkenne ich, dass alles richtig ist?
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Ueberblick aller oeffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.

Was this article helpful?

👎 No (0)
Leave a comment