Compartilhar via


Passar o estado personalizado nas solicitações de autenticação usando MSAL.js

O parâmetro state, conforme definido pelo OAuth 2.0, está incluído em uma solicitação de autenticação e também é retornado na resposta do token para impedir ataques de solicitação intersite forjada. Por padrão, a MSAL.js (Biblioteca de Autenticação da Microsoft para JavaScript) passa um valor exclusivo gerado aleatoriamente para o parâmetro state nas solicitações de autenticação.

O parâmetro state também pode ser usado para codificar informações do estado do aplicativo antes do redirecionamento. Você pode passar o estado do usuário no aplicativo, como a página ou a exibição em que ele estava, como entrada para esse parâmetro. A biblioteca MSAL.js permite que você passe seu estado personalizado como parâmetro de estado no objeto Solicitação. Por exemplo:

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);

O estado transmitido é acrescentado ao GUID exclusivo definido pela MSAL.js ao enviar a solicitação. Quando a resposta é retornada, a MSAL.js verifica se há uma correspondência entre estados e retorna o estado personalizado passado no objeto Resposta como state.

Próximas etapas

Saiba mais criando um aplicativo de página única (SPA) no React que conecta usuários na série de tutoriais de várias partes a seguir.