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.
Scope do MSAL4J
Qual é a principal funcionalidade do MSAL?
Aquisição de token de um Serviço de Token de Segurança (STS) para uma aplicação cliente aceder a um recurso protegido.
O que é o MSAL4J?
O MSAL está disponível para muitas linguagens de programação e plataformas. O MSAL4J foi concebido para ser usado em qualquer aplicação que corra na máquina virtual Java.
Que protocolos padrão a MSAL segue para aquisição de tokens?
A MSAL está a implementar uma versão personalizada do protocolo OAuth2. Além disso, para alguns cenários específicos, pode usar internamente outros protocolos (por exemplo, WS-Trust).
A MSAL é uma biblioteca geral para aquisição de tokens usando o protocolo OAuth2?
Não. MSAL é uma biblioteca cliente para Microsoft Entra ID, Serviços de Federação do Active Directory (AD FS) (ADFS) e Azure Active Directory B2C. Existem algumas noções personalizadas, como "recurso", exigidas pela ADAL, que são consideradas extensões da especificação geral do protocolo OAuth2 e não suportadas por outros STS.
Aumento gradual da API
Devo desativar a validação de autoridade passando false ao construtor?
Depende do tipo de autoridade com quem fala. Se for ADFS, tem de passar false, pois o ADFS de momento não suporta a validação da autoridade. Se for o Microsoft Entra ID, ainda tem a opção de passar falso, mas recomenda-se que seja verdadeiro, especialmente se obtiver o endereço da autoridade através de terceiros (por exemplo, através de um desafio 401). Isto serve para proteger aplicações e utilizadores de serem redirecionados para endpoints maliciosos para introduzirem as suas credenciais.
Que sobrecarga de AcquireToken devo utilizar?
Depende do tipo de aplicação cliente que usas e do cenário para o qual precisas de um token. Consulte as orientações documentadas em Adquirir Tokens.
Debugging
Quais são as razões mais comuns para o fracasso na utilização do MSAL?
Os problemas no MSAL podem ter várias razões. Estes são os culpados comuns:
- A tua máquina tem problemas de ligação.
- As suas aplicações/utilizadores não estão devidamente configurados no Microsoft Entra ID ou ADFS.
- Está a usar uma API incorreta para a sua tarefa (o MSAL tem várias sobrecargas semelhantes para o método AcquireToken).
- Há um bug no MSAL! Sim, isso é sempre possível. Se tem a certeza de que nenhum dos itens acima é a razão da falha, por favor reporte-nos e iremos investigar e corrigir o bug caso exista.
Que ferramentas posso usar para diagnosticar um problema na ADAL?
Existem várias ferramentas de diagnóstico que pode usar:
- Exemplos de MSAL: A primeira melhor ferramenta é o conjunto de exemplos publicados juntamente com o MSAL (dentro do repositório da biblioteca, bem como os exemplos disponíveis na organização AzureSamples GitHub). Tenta encontrar o exemplo mais próximo da tua aplicação e descarrega-o e executa-o na tua máquina. Se o exemplo funcionar corretamente, tens de seguir os mesmos passos da aplicação de exemplo na tua candidatura.
- Registos de diagnóstico MSAL: Pode ativar o registo. Isto irá escrever alguns registos com informação sobre os passos internos do MSAL. Pode analisar os registos para encontrar o problema. Além disso, caso contacte a equipa MSAL, precisa de enviar os registos para ajudar na análise. Podes encontrar as instruções sobre como ativar os registos MSAL na documentação oficial
- Rastreios de rede: Use uma ferramenta como o Fiddler para gravar todas as comunicações http que o MSAL faz com o servidor. Usar o Fiddler é especialmente fácil em computadores de ambiente de trabalho com Windows. Por favor, partilhe o ficheiro de rastreamento de rede com a equipa MSAL caso estejamos envolvidos no diagnóstico do seu problema.
Que tipo de erros são devolvidos pelo MSAL como exceção e que tipo é reportado ao utilizador?
A maioria dos erros é devolvida pelo MSAL sob a forma de uma exceção; no entanto, há poucos casos em que o MSAL mostra o erro no controlo do navegador. Estes casos acontecem principalmente quando o cliente não pode ser validado ou o servidor de autoridade não pode ser contactado.
O MSAL tem alguma lógica de repetição incorporada?
Não. Se uma operação falhar, o MSAL reporta um erro através de uma exceção. A exceção inclui um código de erro e também um código de estado caso o erro seja devolvido pela autoridade. Nesses casos, cabe ao programador examinar o código de estado (que reflete maioritariamente o código de estado http da resposta) na exceção e decidir se tenta novamente ou não. O 502 é normalmente o código de estado que justifica uma nova tentativa.
Modelo de Lançamento MSAL
Com que frequência a MSAL lança uma nova versão?
Não existe um calendário pré-determinado. Tentamos publicar versões de manutenção com muita regularidade para corrigir bugs e desbloquear clientes. Os lançamentos principais normalmente demoram mais e lançamos várias versões de pré-visualização antes da disponibilidade geral de uma versão principal.
Qual é o modelo de compatibilidade das versões MSAL?
O objetivo é manter a retrocompatibilidade dentro de uma versão principal. Para isso, tentamos corrigir apenas bugs ou adicionar novas funcionalidades nas versões de manutenção (que aumentam a versão menor). No entanto, não há garantia de compatibilidade entre as versões principais. Podemos adicionar ou remover suporte para certas plataformas ou cenários, por isso, recomenda-se que compreenda totalmente o alcance das alterações e teste totalmente a nova versão antes de a mudar no seu código de produção.