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.
MSAL.js dá suporte à aquisição de tokens do WAM (Gerenciador de Contas Web) no Windows. Esses tokens são associados ao dispositivo no qual foram adquiridos e não são armazenados em cache no localStorage ou sessionStorage do navegador.
Ambiente com suporte
Atualmente, esse recurso só tem suporte no seguinte ambiente:
- Um computador executando uma compilação Windows que dá suporte ao recurso (mais por vir sobre isso)
- os navegadores Chrome e Edge ou o Teams
- extensão Contas do Windows (versão 1.0.5 ou superior) está instalada se estiver usando o Chrome ou o Edge
- O aplicativo deve ser hospedado no
https
Além disso, atualmente, esse recurso só tem suporte para contas corporativas e de estudante
Habilite o recurso no MSAL.js
Para habilitar esse recurso no MSAL.js defina o allowPlatformBroker sinalizador como true em seu objeto de configuração da seguinte maneira:
const msalConfig = {
auth: {
clientId: "insert-clientId"
},
system: {
allowPlatformBroker: true
}
};
Além disso, você precisará chamar e aguardar a API nova initialize antes de invocar qualquer outra API da MSAL.js.
const pca = new PublicClientApplication(msalConfig);
// Initialize will establish a connection with the browser extension, if present
await pca.initialize();
// Call handleRedirectPromise, after initialization is complete
await pca.handleRedirectPromise();
// After initialize and handleRedirectPromise have completed, you may call any of the other APIs as you would without this feature
pca.acquireTokenSilent();
Nenhuma outra alteração é necessária para dar suporte a esse novo recurso. Qualquer usuário que acessar seu aplicativo de um ambiente com suporte agora poderá adquirir tokens associados ao dispositivo. Os usuários em ambientes sem suporte continuarão a adquirir tokens por meio dos fluxos tradicionais baseados na Web.
Um exemplo de trabalho pode ser encontrado aqui
Diferenças ao usar o WAM para adquirir tokens
Há algumas coisas que podem se comportar um pouco diferente ao adquirir tokens por meio do WAM.
- Todas as configurações relacionadas ao cache se aplicam somente ao cache local da MSAL. O broker nativo controla seu próprio cache, que é mais seguro, usado em vez do armazenamento no navegador, e não oferece suporte à configuração do comportamento do cache. Isso significa que você pode receber um token armazenado em cache, independentemente do valor dos parâmetros de solicitação, como:
forceRefreshoucacheLookupPolicystoreInCache. Além disso, os tokens recebidos do broker nativo não são armazenados nem no armazenamento local nem no armazenamento da sessão, independentemente do que você tenha configurado no PublicClientApplication. - Se o WAM precisar solicitar interação ao usuário, um prompt do sistema será aberto. Esse prompt parece um pouco diferente das janelas pop-up do navegador às quais você pode estar acostumado.
- Não há suporte para alternar sua conta no prompt do WAM e MSAL.js gerará um erro (Código de Erro: user_switch) se isso acontecer. É responsabilidade do seu aplicativo capturar esse erro e tratá-lo de uma maneira que faça sentido para seus cenários (por exemplo, mostrar uma página de erro, tentar novamente com a nova conta, tentar novamente com a conta original etc.)