Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se l'applicazione desktop o per dispositivi mobili viene eseguita in Windows e in un computer connesso a un dominio di Windows (Active Directory o Microsoft Entra aggiunto) è possibile usare l'autenticazione integrata Windows (IWA) per acquisire un token in modo invisibile all'utente. Quando si usa l'applicazione non è necessaria l'interfaccia utente.
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();
Vincoli
- Solo utenti federati*, ad esempio, in cui l'autenticazione viene federata a un'autorità locale (ad esempio ADFS) o scenari ibridi in cui è abilitato l'accesso Single Sign-On facile. I tenant cloud puri, in cui gli utenti si trovano direttamente in Microsoft Entra ID, senza alcun backup Active Directory, non possono usare questo flusso.
- IWA NON aggira l'MFA (autenticazione a più fattori). Se è configurata l'autenticazione a più fattori, l'autenticazione integrata di Windows potrebbe avere esito negativo se è necessaria una richiesta di autenticazione a più fattori, poiché richiede l'interazione dell'utente.
Questo è complicato. IWA non è interattiva, ma l'autenticazione a due fattori richiede l'interazione dell'utente. Non sei tu a controllare quando il provider di identità richiede che venga eseguita l'autenticazione a due fattori, bensì l'amministratore del tenant. Dalle nostre osservazioni, l'autenticazione a più fattori è necessaria quando si accede da un paese/area geografica diversa, quando non si è connessi tramite VPN a una rete aziendale e talvolta anche quando si è connessi tramite VPN. Non aspettarsi un set deterministico di regole, Microsoft Entra ID usa l'intelligenza artificiale per apprendere continuamente se è necessaria la funzionalità 2FA. Dovresti ripiegare su una richiesta all'utente se IWA non riesce
L'autorità fornita in
PublicApplicationdeve essere:- tenanted (del formato
https://login.microsoftonline.com/{tenant}/dovetenantè il GUID che rappresenta l'ID del tenant oppure un dominio associato al tenant). - per tutti gli account aziendali e scolastici (
https://login.microsoftonline.com/organizations/)
Gli account personali Microsoft non sono supportati (non è possibile usare i tenant /common o /consumers)
- tenanted (del formato
Poiché l'autenticazione integrata Windows è un flusso invisibile all'utente:
- L'utente dell'applicazione deve aver precedentemente acconsentito all'uso dell'applicazione
- o l'amministratore del tenant deve aver precedentemente acconsentito a tutti gli utenti del tenant per usare l'applicazione.
- Ciò significa che:
- o tu, in qualità di sviluppatore, hai premuto per te stesso il pulsante Grant nel portale Azure,
- o un amministratore tenant ha premuto il pulsante Concedi/revoca il consenso amministratore per {dominio tenant} nella scheda Autorizzazioni API della registrazione per l'applicazione
- oppure è stato fornito un modo per consentire agli utenti di fornire il consenso all'applicazione
- oppure è stato fornito un modo per consentire all'amministratore del tenant di fornire il consenso per l'applicazione