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.
As Extensões de Autenticação da Microsoft para Node.js permitem que os desenvolvedores realizem a serialização e a persistência em disco do cache de tokens em múltiplas plataformas. Ele oferece suporte adicional à Biblioteca de Autenticação da Microsoft (MSAL) para Node.
A MSAL for Node dá suporte a um cache na memória por padrão e fornece a interface ICachePlugin para executar a serialização de cache, mas não fornece uma maneira padrão de armazenar o cache de token no disco. As Extensões de Autenticação da Microsoft para Nó são a implementação padrão para manter o cache em disco em diferentes plataformas.
As Extensões de Autenticação da Microsoft para Nó dão suporte às seguintes plataformas:
- Windows – API de proteção de dados (DPAPI) é usada para proteção.
- Mac – O conjunto de chaves do Mac é usado.
- Linux – LibSecret é usado para armazenar no "Serviço Secreto".
Instalação
O msal-node-extensions pacote está disponível no Node Package Manager (NPM).
npm i @azure/msal-node-extensions --save
Configurar o cache de token
Aqui está um exemplo de código que usa as Extensões de Autenticação da Microsoft para Node.js para configurar o cache de token.
const {
DataProtectionScope,
Environment,
PersistenceCreator,
PersistenceCachePlugin,
} = require("@azure/msal-node-extensions");
// You can use the helper functions provided through the Environment class to construct your cache path
// The helper functions provide consistent implementations across Windows, Mac and Linux.
const cachePath = path.join(Environment.getUserRootDirectory(), "./cache.json");
const persistenceConfiguration = {
cachePath,
dataProtectionScope: DataProtectionScope.CurrentUser,
serviceName: "<SERVICE-NAME>",
accountName: "<ACCOUNT-NAME>",
usePlaintextFileOnLinux: false,
};
// The PersistenceCreator obfuscates a lot of the complexity by doing the following actions for you :-
// 1. Detects the environment the application is running on and initializes the right persistence instance for the environment.
// 2. Performs persistence validation for you.
// 3. Performs any fallbacks if necessary.
PersistenceCreator.createPersistence(persistenceConfiguration).then(
async (persistence) => {
const publicClientConfig = {
auth: {
clientId: "<CLIENT-ID>",
authority: "<AUTHORITY>",
},
// This hooks up the cross-platform cache into MSAL
cache: {
cachePlugin: new PersistenceCachePlugin(persistence),
},
};
const pca = new msal.PublicClientApplication(publicClientConfig);
// Use the public client application as required...
}
);
A tabela a seguir fornece uma explicação para todos os argumentos para a configuração de persistência.
| Nome do campo | Descrição | Necessário para |
|---|---|---|
| cachePath | O caminho para o arquivo de bloqueio que a biblioteca usa para sincronizar as leituras e as gravações | Windows, Mac e Linux |
| dataProtectionScope | Especifica o escopo da proteção de dados no Windows, seja o usuário atual ou o computador local. | Windows |
| nomeDoServiço | Especifica o nome do serviço a ser usado no Mac e/ou linux | Mac e Linux |
| nome da conta | Especifica o nome da conta a ser usado no Mac e/ou no Linux | Mac e Linux |
| usePlaintextFileOnLinux | O sinalizador a ser usado como texto sem formatação no Linux se o LibSecret falhar. Usa como padrão false |
Linux |
Próximas etapas
Para obter mais informações sobre as Extensões de Autenticação da Microsoft para Node.js e MSAL Node, consulte: