Passer un état personnalisé dans les demandes d’authentification avec MSAL.js
Le paramètre state, tel que défini par OAuth 2.0, est inclus dans une demande d’authentification et est également retourné dans la réponse de jeton pour empêcher les attaques par falsification de requêtes intersites. Par défaut, la bibliothèque d’authentification Microsoft pour JavaScript (MSAL.js) passe une valeur unique, générée de manière aléatoire, du paramètre state dans les demandes d’authentification.
Le paramètre state peut également être utilisé pour coder les informations d’état d’une application avant la redirection. Vous pouvez passer l’état de l’utilisateur dans l’application, tel que la page ou la vue où il se trouvait, en tant qu’entrée sur ce paramètre. La bibliothèque MSAL.js vous permet de passer votre état personnalisé en tant que paramètre d’état dans l’objet Requête. Par exemple :
import {PublicClientApplication} from "@azure/msal-browser";
const myMsalObj = new PublicClientApplication({
clientId: "ENTER_CLIENT_ID_HERE"
});
let loginRequest = {
scopes: ["user.read"],
state: "page_url"
}
myMSALObj.loginRedirect(loginRequest);
L’état passé est ajouté au GUID unique défini par MSAL.js lors de l’envoi de la demande. Lorsque la réponse est retournée, MSAL.js recherche une correspondance avec l’état, puis retourne l’état transmis personnalisé dans la Réponse objet en tant que state
.
Étapes suivantes
Découvrez comment générer une application monopage (SPA) React qui permet de connecter des utilisateurs, avec cette série de tutoriels en plusieurs parties.