
# Avvii rapidi

Ogni avvio rapido porta un framework da un progetto vuoto a un'API che accetta solo access token KeenAuth validi oppure a un'app web che permette agli utenti di accedere. Ogni avvio rapido deriva da un esempio eseguibile i cui test girano offline con il kit di test dell'SDK, quindi il codice in queste pagine è quello che i test verificano.

## Proteggi la tua API

| Framework | Avvio rapido |
|---|---|
| Go `net/http` | [Proteggi un'API Go](/docs/quickstarts/go) |
| Node.js Express | [Proteggi un'API Express](/docs/quickstarts/express) |
| Python FastAPI | [Proteggi un'API FastAPI](/docs/quickstarts/fastapi) |
| Python Django | [Proteggi un'API Django](/docs/quickstarts/django) |

I quattro avvii rapidi per API costruiscono la stessa API: un endpoint pubblico, un endpoint che richiede un access token valido e un endpoint che richiede anche l'autorizzazione `messages:read`. Leggono la configurazione solo da variabili d'ambiente:

| Variabile | Significato |
|---|---|
| `KEENAUTH_ISSUER` | L'issuer del tuo ambiente, per esempio `https://your-environment.eu.keenauth.app` |
| `KEENAUTH_AUDIENCE` | L'identificatore della tua API, l'audience dei suoi access token |
| `PUBLIC_BASE_URL` | L'URL che i client chiamano; obbligatorio, `https` (`http` solo per `localhost`) |

## Fai accedere gli utenti

| Framework | Avvio rapido |
|---|---|
| Next.js (App Router) | [Aggiungi l'accesso a un'app Next.js](/docs/quickstarts/nextjs) |
| React single-page app (Vite) | [Aggiungi l'accesso a una single-page app React](/docs/quickstarts/react) |
| React Router (modalità framework) | [Aggiungi l'accesso a un'app React Router](/docs/quickstarts/react-router) |
| Laravel | [Aggiungi l'accesso a un'app Laravel](/docs/quickstarts/laravel) |
| Spring Boot | [Aggiungi l'accesso a un'app Spring Boot](/docs/quickstarts/spring-boot) |
| ASP.NET Core | [Aggiungi l'accesso a un'app ASP.NET Core](/docs/quickstarts/dotnet) |

L'app Next.js è l'OAuth client e mantiene ogni token sul server; lo fa anche l'app React Router, con il client OpenID Connect standard `openid-client`. La single-page app React è un client pubblico: i suoi token restano nella memoria del browser, legati a una chiave DPoP. Le altre app web usano una libreria client OpenID Connect standard del loro framework e mantengono ogni token nella sessione lato server. Tutte leggono la configurazione da variabili d'ambiente (vedi ogni pagina) e chiamano un'API protetta con l'access token dell'utente.

Fastify e Flask usano lo stesso middleware; vedi [Proteggere la tua API con il middleware](/docs/sdk/protect-api).
