# Authentifizierung

Anfragen deines Produkts an Beeuni authentifizieren.

Canonical page: https://beeuni.ai/docs/de/sdk/auth

## Client erstellen

Das SDK ruft `getToken` bei jeder Anfrage auf. Deine Anwendung verwaltet Speicherung und Erneuerung der Tokens.

```ts
import { createBeeuni } from '@beeuni/sdk';

const beeuni = createBeeuni({
  backendUrl: 'https://api.beeuni.ai/v1',
  getToken: async () => process.env.BEEUNI_API_KEY ?? null,
});

const projects = await beeuni.projects.list();
```

## Zugangsdaten wählen

- Nutze einen persönlichen API-Schlüssel für Serverskripte oder CI. Bewahre ihn auf dem Server auf und wähle den engsten verfügbaren Geltungsbereich.
- Nutze ein Dienstkonto für einen Agenten oder andere nichtmenschliche Aufrufer. Weise die benötigten Projektrollen zu; neue Dienstkonten haben keinen Projektzugriff.
- Für eine Anwendung, die im Namen ihrer Nutzer handelt, nutze [Sign in with Beeuni](/docs/de/sdk/sign-in). Der Server-Handler verwaltet OAuth-Tokens und ihre Erneuerung.

## Abgelehnte Anfragen behandeln

`401` bedeutet fehlende, abgelaufene oder ungültige Zugangsdaten. `403` kann fehlende Rechte oder eine deaktivierte Funktion bedeuten. Lies vor einem erneuten Versuch den Fehlercode.

Wenn deine Token-Funktion ein rotierendes Token zwischenspeichert, ergänze `invalidate(rejectedToken)`. Das SDK ruft diese Funktion vor einem einmaligen Wiederholungsversuch auf.

## Zugangsdaten schützen

Schreibe Server-API-Schlüssel nicht in Browsercode, URLs oder Logs. Nutze deinen Server oder den OAuth-Proxy für Browseranfragen. Widerrufe kompromittierte Zugangsdaten unter **Account → Tokens**.

[Vollständiges Beispiel](/docs/de/sdk/example)
