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.
Se seu aplicativo para desktop ou móvel for executado no Windows e estiver em um computador conectado a um domínio do Windows (associado ao Active Directory ou ao Microsoft Entra), será possível usar a IWA (Autenticação Integrada do Windows) para obter um token de forma silenciosa. Não é necessária uma interface do usuário ao usar o aplicativo.
final String AUTHORITY;
final String APP_ID;
String userName;
List<String> scopes;
PublicClientApplication app = PublicClientApplication.builder(APP_ID)
.authority(AUTHORITY)
.build();
IntegratedWindowsAuthenticationParameters parameters =
IntegratedWindowsAuthenticationParameters.builder(scope, userName).build();
IAuthenticationResult future = app.acquireToken(parameters).get();
Restrições
- Somente usuários federados*, ou seja, em que a autenticação está sendo federada para uma autoridade local (ADFS, por exemplo), ou cenários híbridos em que seamless-sso está habilitado. Locatários de nuvem pura, em que os usuários estão diretamente em Microsoft Entra ID, sem nenhum suporte Active Directory, não podem usar esse fluxo.
- O IWA NÃO ignora a MFA (autenticação multifator). Caso a MFA esteja configurada, a IWA poderá falhar caso um desafio de MFA seja necessário, pois esta exige a interação do usuário.
Este é complicado. O IWA não é interativo, mas a 2FA requer interatividade do usuário. Você não controla quando o provedor de identidade solicita que a 2FA seja executada, o administrador do locatário o faz. Em nossas observações, a 2FA é necessária quando você faz logon de um país/região diferente, quando não está conectado via VPN a uma rede corporativa e, às vezes, até mesmo quando conectado via VPN. Não espere um conjunto determinístico de regras, Microsoft Entra ID usa IA para saber continuamente se a 2FA é necessária. Você deverá fazer fallback para um prompt de usuário se o IWA falhar
A autoridade passada no
PublicApplicationprecisa ser:- com locatário (do formulário
https://login.microsoftonline.com/{tenant}/em quetenanté o GUID que representa a ID do locatário ou um domínio associado ao locatário). - para contas corporativas ou de estudante (
https://login.microsoftonline.com/organizations/)
Contas pessoais da Microsoft não são compatíveis (você não pode usar os locatários /common ou /consumers)
- com locatário (do formulário
Como a Autenticação Windows Integrada é um fluxo silencioso:
- o usuário do seu aplicativo deve ter consentido anteriormente em usar o aplicativo
- ou o administrador do locatário deve ter concedido previamente consentimento para que todos os usuários do locatário usem o aplicativo.
- Isso significa que:
- ou você, como desenvolvedor, selecionou o botão Concessão no portal do Azure por conta própria.
- ou um administrador do locatário pressionou o botão Conceder/revogar consentimento do administrador para {tenant domain} na guia Permissões de API do registro do aplicativo
- ou você forneceu uma maneira para os usuários consentirem com o aplicativo
- ou você forneceu uma maneira de o administrador do locatário dar consentimento ao aplicativo