Démarrages rapides

Chaque démarrage rapide fait passer un framework d'un projet vide à soit une API qui n'accepte que des jetons d'accès KeenAuth valides, soit une application web qui permet aux utilisateurs de se connecter. Chaque démarrage rapide provient d'un exemple exécutable dont les tests s'exécutent hors ligne avec le kit de test du SDK, de sorte que le code de ces pages est bien celui que vérifient les tests.

Protéger votre API

Framework Démarrage rapide
Go net/http Protéger une API Go
Node.js Express Protéger une API Express
Python FastAPI Protéger une API FastAPI
Python Django Protéger une API Django

Les quatre démarrages rapides d'API construisent la même API : un point de terminaison public, un point de terminaison qui exige un jeton d'accès valide et un point de terminaison qui exige en plus le scope messages:read. Ils lisent leur configuration uniquement depuis des variables d'environnement :

Variable Signification
KEENAUTH_ISSUER L'émetteur de votre environnement, par exemple https://your-environment.eu.keenauth.app
KEENAUTH_AUDIENCE L'identifiant de votre API, l'audience de ses jetons d'accès
PUBLIC_BASE_URL L'URL que les clients appellent ; obligatoire, https (http uniquement pour localhost)

Connecter les utilisateurs

Framework Démarrage rapide
Next.js (App Router) Ajouter la connexion à une application Next.js
Application React monopage (Vite) Ajouter la connexion à une application React monopage
React Router (mode framework) Ajouter la connexion à une application React Router
Laravel Ajouter la connexion à une application Laravel
Spring Boot Ajouter la connexion à une application Spring Boot
ASP.NET Core Ajouter la connexion à une application ASP.NET Core

L'application Next.js est le client OAuth et garde tous les jetons côté serveur ; il en va de même pour l'application React Router, avec le client OpenID Connect standard openid-client. L'application React monopage est un client public : ses jetons restent dans la mémoire du navigateur, liés à une clé DPoP. Les autres applications web utilisent une bibliothèque cliente OpenID Connect standard de leur framework et conservent tous les jetons dans la session côté serveur. Toutes lisent leur configuration depuis des variables d'environnement (voir chaque page) et appellent une API protégée avec le jeton d'accès de l'utilisateur.

Fastify et Flask utilisent le même middleware ; voir Protéger votre API avec le middleware.