# Autenticazione

Autentica le richieste del tuo prodotto a Beeuni.

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

## Crea un client

L'SDK chiama `getToken` per ogni richiesta. La tua applicazione gestisce archiviazione e rinnovo dei token.

```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();
```

## Scegli una credenziale

- Usa una chiave API personale per script server o CI. Conservala sul server e scegli l'ambito più ristretto disponibile.
- Usa un account di servizio per un agente o altri chiamanti non umani. Assegna i ruoli di progetto necessari; un nuovo account di servizio non ha accesso ai progetti.
- Per un'applicazione che agisce per conto degli utenti usa [Sign in with Beeuni](/docs/it/sdk/sign-in). Il gestore server gestisce i token OAuth e il loro rinnovo.

## Gestisci le richieste rifiutate

`401` indica credenziali mancanti, scadute o non valide. `403` può indicare permessi insufficienti o una funzione disattivata; leggi il codice di errore prima di riprovare.

Se la funzione del token memorizza un token che viene rinnovato, aggiungi `invalidate(rejectedToken)`. L'SDK usa questa callback prima di ripetere una volta la richiesta rifiutata.

## Proteggi le credenziali

Non inserire chiavi API server nel codice del browser, negli URL o nei log. Usa il server o il proxy OAuth per le richieste del browser. Revoca una credenziale compromessa in **Account → Tokens**.

[Esempio completo](/docs/it/sdk/example)
