Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Não há nenhuma versão do MSAL React v4. A versão do pacote foi incrementada da v3 diretamente para a v5 para alinhar o controle de versão de msal-react ao das outras bibliotecas MSAL.js. Não existe nenhum conjunto de recursos v4 separado.
Consulte o guia de migração do MSAL Browser v4-v5 para obter suporte ao navegador e outras alterações importantes.
Caminhos de migração
- v3 -> v5: Siga este guia e, em seguida, aplique o guia de migração do MSAL Browser v4-v5, especialmente a configuração da ponte de redirecionamento.
- v1/v2 -> v5: As atualizações v1 -> v2 e v2 -> v3 foram apenas atualizações de versão de dependências de mesmo nível para a maioria dos aplicativos. Migre primeiro para a v3 e, em seguida, siga as orientações de v3 -> v5 neste documento, além da configuração da ponte de redirecionamento.
Configuração da ponte de redirecionamento (obrigatório)
O MSAL Browser v5 requer uma página/ponte de redirecionamento dedicada para fluxos de autenticação.
Consulte a seção COOP no guia de migração do NAVEGADOR MSAL v4-v5.
Suporte descartado para versões antigas do React
O MSAL React v5 dá suporte ao React 19.2.1 ou superior. Ele não dá mais suporte ao React 16, 17 ou 18.
Observação de compatibilidade do React 18
Warning
O React 18 atingiu o fim da vida útil, e é por isso que o MSAL React v5 abandonou o suporte para ele.
Se o aplicativo ainda estiver no React 18, a instalação @azure/msal-react@^5 poderá falhar devido a restrições de dependência par.
- Solução alternativa de instalação temporária:
npm install --legacy-peer-deps - Isso pode permitir a instalação e os fluxos básicos podem continuar funcionando em alguns aplicativos, mas o React 18 não tem suporte ou é validado para v5
- Você pode observar comportamentos não testados relacionados à temporização da renderização/do ciclo de vida, a interações com o StrictMode ou a futuras atualizações de patch.
Para cargas de trabalho de produção, atualize o React para 19.2.1 ou superior antes de migrar para @azure/msal-react@^5.
Migrando do Create React App (react-scripts)
Criar aplicativo React foi preterido e react-scripts não dá suporte ao React 19. Se o aplicativo usar react-scripts, você deverá migrar para uma ferramenta de build diferente antes de atualizar para @azure/msal-react@^5.
Recomendado: migrar para Vite
Remova
react-scriptse instale o Vite + o plugin do React:npm uninstall react-scripts npm install --save-dev vite @vitejs/plugin-reactAdicione
"type": "module"apackage.json.Mova
public/index.htmlpara a raiz do projeto comoindex.html, substitua as referências a%PUBLIC_URL%/por/e adicione a tag de script do ponto de entrada:<!-- Before (CRA): no script tag needed, CRA injects it --> <!-- After (Vite): add before </body> --> <script type="module" src="/src/index.jsx"></script>Crie um(a)
vite.config.jsna raiz do projeto:import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import { resolve } from "path"; export default defineConfig({ plugins: [react()], server: { port: 3000, }, build: { rollupOptions: { input: { main: resolve(__dirname, "index.html"), redirect: resolve(__dirname, "public/redirect.html"), }, }, }, });Atualizar
package.jsonscripts:"scripts": { "start": "vite", "build": "vite build", "preview": "vite preview" }Substitua as referências
process.env.REACT_APP_*porimport.meta.env.VITE_*e renomeie as variáveis de ambiente de acordo (por exemplo,REACT_APP_CLIENT_ID→VITE_CLIENT_ID).Remova as variáveis de ambiente específicas do CRA (
SKIP_PREFLIGHT_CHECK,DISABLE_ESLINT_PLUGIN) dos.envarquivos.Atualize o React e instale a MSAL:
npm install react@^19.2.1 react-dom@^19.2.1 npm install @azure/msal-browser@^5 @azure/msal-react@^5Configure a ponte de redirecionamento para seu aplicativo Vite.
Amostras: Consulte o react-router-sample, typescript-sample e b2c-sample para obter exemplos completos baseados em Vite.
Corrigir o bug de logout
MSAL React v5 corrigiu um bug que afetava o hook useMsalAuthentication e MsalAuthenticationTemplate. Agora, ao encerrar a sessão, todo o estado associado ao usuário é limpo.
InteractionStatus Alterações
Para InteractionStatus: Login, SsoSilente AcquireToken agora estão consolidados em AcquireToken.
Exemplo de migração
Se o aplicativo verificava anteriormente vários status em andamento, simplifique para o status consolidado AcquireToken.
import { InteractionStatus } from "@azure/msal-browser";
// Before (v3-style checks)
const tokenInteractionInProgress =
inProgress === InteractionStatus.Login ||
inProgress === InteractionStatus.SsoSilent ||
inProgress === InteractionStatus.AcquireToken;
// After (v5)
const tokenInteractionInProgress =
inProgress === InteractionStatus.AcquireToken;
if (!tokenInteractionInProgress) {
// safe to initiate a new auth/token request
}