Lorsque vous disposez d’un serveur de confiance (Node, .NET, PHP, etc.), effectuez l’échange de jetons côté serveur pour que le secret client n’atteigne jamais le navigateur.
C’est le bon modèle pour les intégrations OAuth code sur mesure. Les parcours SDK React et JS simple (popup / intégration script) sont distincts — voir Intastellar Sign-In — SDK React et JavaScript simple.
Séquence
- Le navigateur termine le flux de redirection et arrive sur votre callback avec
codeetstate. - Votre route callback vérifie
state, puis appelle votre backend (ou exécute côté serveur dans la même requête) pour échanger le code. - Le backend envoie un
POSTversTOKEN_ENDPOINTavecgrant_type=authorization_code,code,redirect_uri,client_idetclient_secret. - Le backend crée une session pour l’utilisateur (cookie, stockage des jetons côté serveur).
- Le navigateur est redirigé vers l’app avec uniquement votre cookie de session.
Exemple (conceptuel)
POST TOKEN_ENDPOINT
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=AUTHORIZATION_CODE
&redirect_uri=https%3A%2F%2Fapp.example.com%2Fauth%2Fcallback
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRETAjoutez les paramètres PKCE si ce client est configuré en hybride ou si l’étape d’autorisation a utilisé PKCE.
Stockage du secret
- Chargez
client_secretdepuis des variables d’environnement ou un gestionnaire de secrets. - Faites tourner les secrets en cas d’exposition ; utilisez des identifiants distincts par environnement.
Suite
Last updated