Versionv1

Les applications monopage ne peuvent pas stocker en toute sécurité un secret client dans le navigateur. Utilisez le flux du code d’autorisation avec PKCE, ou le paquet officiel @intastellar/signin-sdk-react si vous ciblez React et que votre client est configuré pour — le SDK utilise une fenêtre contextuelle et une vérification au lieu de câbler vous-même l’autorisation et le POST de jeton.

Pour des modèles React et vanilla concrets (espaces réservés uniquement), voir Intastellar Sign-In — React et JavaScript.

Résumé du flux (code manuel + PKCE)

  1. Générer code_verifier (chaîne aléatoire à forte entropie) et dériver code_challenge (S256).
  2. Stocker code_verifier là où vous pourrez le lire au rappel — par ex. sessionStorage pour l’onglet, ou un cookie chiffré via un petit BFF.
  3. Rediriger vers AUTHORIZATION_ENDPOINT avec code_challenge / code_challenge_method=S256.
  4. Au rappel, envoyer code + code_verifier à votre backend (recommandé) ou au point de terminaison de jeton si votre produit autorise les clients publics sans secret (confirmez dans votre console).

Préférer un backend-for-frontend (BFF)

Même dans une SPA, l’échange de jeton et le rafraîchissement sont plus sûrs sur une API même origine :

  • Le navigateur ne reçoit qu’un cookie de session opaque de votre API.
  • Les jetons de rafraîchissement ne passent jamais par localStorage.
  • CORS et CSRF sont plus simples à contrôler sur votre domaine.

Si vous devez gérer les jetons entièrement dans le navigateur, minimisez la durée de vie, évitez localStorage pour les jetons de rafraîchissement et considérez le XSS comme une compromission complète de session.

CORS et iframes

N’intégrez pas l’interface de connexion Intastellar dans une iframe cachée sauf si le produit prend explicitement en charge des flux silencieux ou intégrés. Préférez la redirection pleine page pour la connexion et la déconnexion.

Questions fréquentes

La fenêtre contextuelle React est-elle la même chose que la redirection PKCE ?

Non. Le chemin SDK en fenêtre contextuelle est un autre style d’intégration. Cette page concerne la redirection + PKCE lorsque vous construisez le flux vous-même.

« Erreur CORS » en appelant le point de terminaison de jeton depuis JavaScript

Souvent attendu — de nombreux points de terminaison de jeton ne sont pas destinés à être appelés directement depuis le navigateur. Utilisez votre backend ou un BFF.

Suite

Clients côté serveur (confidentiels) si vous exécutez aussi un backend classique avec un secret.

Last updated