Aller au contenu

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.