Authentification¶
Les helpers auth évitent les headers manuels. La valeur d'authentification est lue au moment de la requête, ce qui laisse le store applicatif rester source de vérité.
bearerAuth(getToken, opts)¶
Ajoute un token Bearer si getToken retourne une valeur non vide. getToken peut être synchrone ou asynchrone.
auth: bearerAuth(() => tokenStore.access(), {
allowedOrigins: ["https://api.example.com"]
})
| Option | Défaut | Sens |
|---|---|---|
headerName |
Authorization |
Nom du header envoyé. |
prefix |
Bearer |
Préfixe devant le token. |
allowedOrigins |
Même origine que baseUrl |
Limite l'envoi du token aux origines autorisées. |
Ne pas lire le token une seule fois à la création du client. Fournir une fonction qui relit la valeur courante.
cookieAuth(opts)¶
Mode adapté aux sessions navigateur basées sur des cookies.
auth: cookieAuth({ credentials: "include" })
credentials: "include" est nécessaire pour des cookies inter-sites. Le backend doit alors configurer CORS, SameSite=None et Secure correctement.
basicAuth(getCredentials, opts)¶
Encode un couple username/password ou une chaîne user:pass déjà préparée. À réserver aux outils internes, endpoints techniques ou compatibilité legacy sous TLS.
apiKeyAuth(getKey, opts)¶
Ajoute une clé API dans un header configurable, par défaut X-API-Key.
Ne jamais exposer une clé privilégiée dans un navigateur public. Passer par un backend si la clé est secrète.
noAuth()¶
Déclare explicitement une absence d'authentification.
const publicApi = createHttpClient({
baseUrl: "https://status.example.com",
auth: noAuth(),
parser
});
Utiliser noAuth() pour login, refresh, health, assets publics et clients de démonstration.