Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Antes de começares aqui, certifica-te de que percebes como inicializar um objeto de aplicação.
A biblioteca MSAL tem um conjunto de opções de configuração que podem ser usadas para personalizar o comportamento dos seus fluxos de autenticação. Estas opções podem ser definidas no construtor do PublicClientApplication objeto ou como parte das APIs de pedido. Aqui descrevemos o objeto de configuração que pode ser passado para o PublicClientApplication construtor.
Usando o objeto config
O objeto de configuração tem a seguinte estrutura e pode ser passado para o PublicClientApplication construtor. O único parâmetro de configuração necessário é o ID do cliente da aplicação. Tudo o resto é opcional, mas pode ser obrigatório dependendo do inquilino e do modelo de candidatura.
const msalConfig = {
auth: {
clientId: "enter_client_id_here",
authority: "https://login.microsoftonline.com/common",
knownAuthorities: [],
cloudDiscoveryMetadata: "",
redirectUri: "enter_redirect_uri_here",
postLogoutRedirectUri: "enter_postlogout_uri_here",
navigateToLoginRequestUrl: true,
clientCapabilities: ["CP1"],
},
cache: {
cacheLocation: "sessionStorage",
},
system: {
loggerOptions: {
loggerCallback: (
level: LogLevel,
message: string,
containsPii: boolean
): void => {
if (containsPii) {
return;
}
switch (level) {
case LogLevel.Error:
console.error(message);
return;
case LogLevel.Info:
console.info(message);
return;
case LogLevel.Verbose:
console.debug(message);
return;
case LogLevel.Warning:
console.warn(message);
return;
}
},
piiLoggingEnabled: false,
},
windowHashTimeout: 60000,
iframeHashTimeout: 6000,
loadFrameTimeout: 0,
protocolMode: "AAD"
},
telemetry: {
application: {
appName: "My Application",
appVersion: "1.0.0",
},
},
};
const msalInstance = new PublicClientApplication(msalConfig);
Opções de configuração
Opções de Configuração de Autenticação
| Option | Description | Formato | Valor padrão |
|---|---|---|---|
clientId |
ID da aplicação da sua candidatura. Pode ser encontrado no painel de registo de aplicações do portal do Azure | UUID/GUID | Nenhum. Este parâmetro é necessário para que a MSAL realize quaisquer ações. |
authority |
URI do inquilino para autenticar e autorizar. Normalmente assume a forma de https://{uri}/{tenantid} |
String em formato URI com tenant - https://{uri}/{tenantid} |
https://login.microsoftonline.com/common |
knownAuthorities |
Um conjunto de URIs que se sabe serem válidos. Usado em cenários B2C. | Array de strings em formato URI | Matriz vazia [] |
cloudDiscoveryMetadata |
Uma cadeia que contém a resposta de descoberta da nuvem. Usado em cenários Microsoft Entra. | cadeia (de caracteres) | Corda vazia "" |
authorityMetadata |
Uma string contendo a resposta endpoint .well-known/openid-configuration. | cadeia (de caracteres) | Corda vazia "" |
redirectUri |
URI onde a resposta do código de autorização é enviada de volta. Qualquer local aqui especificado deve ter a biblioteca MSAL disponível para tratar da resposta. | String em formato URI absoluto ou relativo | Página de pedido de login (window.location.href da página que fez o pedido de autorização) |
postLogoutRedirectUri |
URI que é redirecionado depois de uma chamada de logout(). | String em formato URI absoluto ou relativo. Passe null para desativar o redirecionamento pós-logout. |
Página de pedido de login (window.location.href da página que fez o pedido de autorização) |
navigateToLoginRequestUrl |
Se true, navegará de volta ao local original do pedido antes de processar a resposta do código de autorização. Se o redirectUri for o mesmo que o local original do pedido, esta flag deve ser definida como falso. |
Booleano | true |
clientCapabilities |
Conjunto de capacidades a ser adicionado a todos os pedidos de rede como parte do xms_cc pedido de reclamações |
Matriz de cadeias de caracteres | [] |
azureCloudOptions |
Um conjunto definido de opções cloud Azure para os programadores poderem recorrer automaticamente às suas autoridades cloud específicas. | AzureCloudOptions | AzureCloudInstance.None |
skipAuthorityMetadataCache |
Um flag para escolher se deve usar a cache local de metadados durante a inicialização da autoridade. O cache de metadados é utilizado se não for fornecido metadados de autoridade e antes de ser feita uma chamada de rede para metadados. | Booleano | false |
onRedirectNavigate |
Um callback que passou a URL para onde o MSAL navegará nos fluxos de redirecionamento. Regressar false na chamada de retorno para a navegação. |
Função - (url: string) => boolean \| void |
undefined |
instanceAware |
Uma bandeira indicando se o STS deve enviar de volta parâmetros adicionais para especificar de onde os tokens devem ser recuperados. | Booleano | false |
isMcp |
Se true, é necessário um resource parâmetro em todos os pedidos de token. Utilizado para fluxos do Protocolo de Contexto do Modelo (MCP). |
Booleano | false |
Opções de Configuração de Cache
| Option | Description | Formato | Valor padrão |
|---|---|---|---|
cacheLocation |
Localização da cache de tokens no navegador. | Valor de cadeia que deve ser um dos seguintes: "sessionStorage", "localStorage", "memoryStorage" |
sessionStorage |
temporaryCacheLocation |
(Descontinuado) Localização da cache temporária no navegador. Esta opção só deve ser alterada para casos específicos e excecionais. Para mais informações, veja cache. | Valor de cadeia que deve ser um dos seguintes: "sessionStorage", "localStorage", "memoryStorage" |
sessionStorage |
storeAuthStateInCookie |
(Descontinuado) Se for verdade, armazena os itens em cache em cookies bem como na cache do navegador. Foi anteriormente utilizado para compatibilidade com o Internet Explorer. | Booleano | false |
secureCookies |
(Descontinuado) Se for verdade e storeAuthStateInCookie também estiver ativado, o MSAL adiciona a Secure flag ao cookie do navegador para que só possa ser enviada via HTTPS. |
Booleano | false |
cacheMigrationEnabled |
Se for verdade, as entradas de cache de versões mais antigas do MSAL são atualizadas para se conformarem ao esquema de cache mais recente no arranque. Se a sua aplicação não foi atualizada recentemente para uma nova versão do MSAL.js, pode desativar isto em segurança. Se as entradas antigas da cache não forem migradas, pode resultar numa falha na cache ao tentar recuperar contas ou tokens, e os utilizadores afetados podem ter de se reautenticar para se atualizarem. | Booleano |
true quando se usa localStorage, false caso contrário |
claimsBasedCachingEnabled |
Se true, os tokens de acesso são armazenados em cache sob uma chave contendo o hash da cadeia de reivindicações solicitada, resultando numa falha de cache e num novo pedido de token de rede quando o mesmo pedido de token é feito com reivindicações diferentes ou em falta. Se definidos para false, os tokens são armazenados em cache sem claims, mas todos os pedidos que contenham claims vão para a rede e sobrescrevem qualquer token previamente armazenado em cache com os mesmos escopos. |
Booleano | false |
Note
A temporaryCacheLocation opção foi descontinuada nas versões recentes do MSAL Browser e poderá ser removida numa futura versão maior. Não deve depender desta opção para novas implementações.
Note
As storeAuthStateInCookie opções e secureCookies foram descontinuadas nas versões recentes do MSAL Browser. Estas opções eram principalmente usadas para compatibilidade com o Internet Explorer, que já não é suportado. Podem ser removidos numa futura versão importante.
Veja Cache em MSAL para mais informações.
Opções de Configuração do Sistema
| Option | Description | Formato | Valor padrão |
|---|---|---|---|
loggerOptions |
Objeto de configuração para logger. | Veja abaixo. | Veja abaixo. |
windowHashTimeout |
Tempo limite em milissegundos para esperar que as operações pop-up se resolvam. | inteiro (milissegundos) | 60000 |
iframeHashTimeout |
Tempo limite em milissegundos para esperar que as operações de iframe se resolvam. | inteiro (milissegundos) | 6000 |
loadFrameTimeout |
Tempo de espera em milissegundos para esperar que as operações iframe/pop-up sejam resolvidas. Se fornecida, definirá valores por defeito para windowHashTimeout e iframeHashTimeout. |
inteiro (milissegundos) | undefined |
navigateFrameWait |
Atraso em milissegundos para esperar que o iframe carregue na janela. | inteiro (milissegundos) | No IE ou Edge: 500, em todos os outros navegadores: 0 |
asyncPopups |
(Descontinuado — usar navigatePopups em vez disso.) Define se os pop-ups são abertos assíncronos. Quando definido para false, surgem popups em branco antes de acontecer qualquer outra coisa. Quando definido para true, surgem popups ao fazer o pedido de rede. |
Booleano | false |
navigatePopups |
Define se os pop-ups são abertos e navegados para mais tarde. Quando definido para true, são abertos pop-ups em branco e depois navegam até ao domínio de login. Quando definido para false, os popups são abertos diretamente no domínio de login. Isto pode ser definido false para cenários onde about:blank não é suportado, como aplicações de ambiente de trabalho ou aplicações web progressivas. |
Booleano | true |
allowRedirectInIframe |
Por defeito, o MSAL não permite que operações de redirecionamento sejam iniciadas quando a aplicação está dentro de um iframe. Defina este flag para true remover esta verificação. |
Booleano | false |
cryptoOptions |
Objeto de configuração para operações criptográficas no navegador. | Ver Opções de Configuração Cripto | Ver Opções de Configuração Cripto |
pollIntervalMilliseconds |
Intervalo de tempo em milissegundos entre polls do hash do URL popup durante a autenticação. | inteiro (milissegundos) | 30 |
protocolMode |
Enum representa o modo de protocolo a utilizar. Se "AAD", MSAL funciona nos endpoints AAD compatíveis com OIDC v2; se "OIDC", funciona noutros endpoints compatíveis com OIDC. |
cadeia (de caracteres) | "AAD" |
Opções de Configuração do Logger
| Option | Description | Formato | Valor padrão |
|---|---|---|---|
loggerCallback |
Função de callback que gere o registo das instruções MSAL. | Função - loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void |
Ver acima. |
piiLoggingEnabled |
Se for verdade, informações pessoais identificáveis (PII) são incluídas nos registos. | Booleano | false |
Opções de Configuração Cripto
| Option | Description | Formato | Valor padrão |
|---|---|---|---|
useMsrCrypto |
Se deve usar o MSR Crypto se estiver disponível no navegador (e outras interfaces criptográficas não estão disponíveis). | Booleano | false |
entropy |
Valores aleatórios criptograficamente fortes usados para seed MSR Crypto (por exemplo, crypto.randomBytes(48) a partir de Node). Recomenda-se 48 bits de entropia. É obrigatório se useMsrCrypto estiver ativado. |
Uint8Array |
undefined |
Opções de Configuração de Telemetria
| Option | Description | Formato | Valor padrão |
|---|---|---|---|
application |
Opções de telemetria para aplicações que utilizam MSAL.js | Ver abaixo | Ver abaixo |
client |
Instância cliente de desempenho de telemetria | IPerformanceClient | StubPerformanceClient |
Telemetria de Aplicação
| Option | Description | Formato | Valor padrão |
|---|---|---|---|
appName |
Nome único de cadeia de uma aplicação | cadeia (de caracteres) | Fio vazio "" |
appVersion |
Versão da aplicação usando MSAL | cadeia (de caracteres) | Fio vazio "" |