
# Guías de inicio rápido

Cada guía lleva un framework desde un proyecto vacío hasta una API que solo acepta tokens de acceso válidos de KeenAuth, o hasta una aplicación web que inicia sesión a los usuarios. Cada guía proviene de un ejemplo ejecutable cuyas pruebas se ejecutan sin conexión con el kit de pruebas del SDK, de modo que el código de estas páginas es el que comprueban las pruebas.

## Proteja su API

| Framework | Guía de inicio rápido |
|---|---|
| Go `net/http` | [Proteger una API de Go](/docs/quickstarts/go) |
| Node.js Express | [Proteger una API de Express](/docs/quickstarts/express) |
| Python FastAPI | [Proteger una API de FastAPI](/docs/quickstarts/fastapi) |
| Python Django | [Proteger una API de Django](/docs/quickstarts/django) |

Las cuatro guías de API construyen la misma API: un endpoint público, un endpoint que exige un token de acceso válido y un endpoint que además exige el scope `messages:read`. Leen su configuración solo desde variables de entorno:

| Variable | Significado |
|---|---|
| `KEENAUTH_ISSUER` | El emisor de su entorno, por ejemplo `https://your-environment.eu.keenauth.app` |
| `KEENAUTH_AUDIENCE` | El identificador de su API, la audiencia de sus tokens de acceso |
| `PUBLIC_BASE_URL` | La URL a la que llaman los clientes; obligatoria, `https` (`http` solo para `localhost`) |

## Inicie sesión a los usuarios

| Framework | Guía de inicio rápido |
|---|---|
| Next.js (App Router) | [Añadir inicio de sesión a una app de Next.js](/docs/quickstarts/nextjs) |
| Aplicación de una sola página de React (Vite) | [Añadir inicio de sesión a una aplicación de una sola página de React](/docs/quickstarts/react) |
| React Router (modo framework) | [Añadir inicio de sesión a una app de React Router](/docs/quickstarts/react-router) |
| Laravel | [Añadir inicio de sesión a una app de Laravel](/docs/quickstarts/laravel) |
| Spring Boot | [Añadir inicio de sesión a una app de Spring Boot](/docs/quickstarts/spring-boot) |
| ASP.NET Core | [Añadir inicio de sesión a una app de ASP.NET Core](/docs/quickstarts/dotnet) |

La app de Next.js es el cliente OAuth y mantiene todos los tokens en el servidor; también lo hace la app de React Router, con el cliente estándar de OpenID Connect `openid-client`. La aplicación de una sola página de React es un cliente público: sus tokens permanecen en la memoria del navegador, vinculados a una clave DPoP. Las demás apps web usan una biblioteca cliente estándar de OpenID Connect de su framework y guardan todos los tokens en la sesión del servidor. Todas leen su configuración desde variables de entorno (véase cada página) y llaman a una API protegida con el token de acceso del usuario.

Fastify y Flask usan el mismo middleware; véase [Proteger su API con middleware](/docs/sdk/protect-api).
