Supporto di ADFS

Active Directory Federation Services (AD FS) in Windows Server consente di aggiungere l'autenticazione basata su OpenID Connect e OAuth 2.0 alle applicazioni in fase di sviluppo. Queste applicazioni possono autenticare gli utenti direttamente in AD FS. Per altre informazioni, vedere Scenari AD FS per sviluppatori.

Esistono in genere due modi per eseguire l'autenticazione con AD FS:

  • MSAL si connette a Microsoft Entra ID, che quindi esegue la federazione con AD FS.
  • MSAL si connette direttamente a un'autorità AD FS.

MSAL4J supporta entrambi questi flussi.

MSAL si connette a Microsoft Entra ID, che quindi esegue la federazione con AD FS

MSAL4J supporta la connessione a Microsoft Entra ID, che consente di accedere agli utenti gestiti (utenti gestiti in Microsoft Entra ID) o agli utenti federati (utenti gestiti da un altro provider di identità, ad esempio AD FS). MSAL4J non sa del fatto che gli utenti sono federati. Per quanto la riguarda, comunica con Microsoft Entra ID.

L'autorità utilizzata in questo caso è l'autorità usuale (nome host dell'autorità + il tenant, common oppure organizations).

Acquisizione di un token in modo interattivo per gli utenti federati

Quando si chiama AcquireToken con AuthorizationCodeParameters o DeviceCodeParameters, l'esperienza utente è in genere:

  1. L'utente immette l'ID dell'account.
  2. Microsoft Entra ID visualizza brevemente il messaggio "Ti stiamo reindirizzando alla pagina della tua organizzazione". L'utente viene reindirizzato alla pagina di accesso del provider di identità. La pagina di accesso viene in genere personalizzata con il logo dell'organizzazione.
  3. Le versioni di AD FS supportate in questo scenario federato sono AD FS v2, AD FS v3 (Windows Server 2012 R2) e AD FS v4 (AD FS 2016).

MSAL si connette direttamente a un'autorità AD FS

MSAL4J offre supporto per l'autenticazione diretta con AD FS 2019. In questo caso, è possibile specificare l'URL dell'autorità ADFS a MSAL4J durante l'inizializzazione del client. Il valore dell'autorità dovrebbe essere simile a https://adfs.contoso.com/adfs.

Acquisizione di un token tramite AcquireToken con IntegratedWindowsAuthenticationParameters o UsernamePasswordParameters

Quando si acquisisce un token tramite AcquireToken con IntegratedWindowsAuthenticationParameters o UsernamePasswordParameters, MSAL4J determina il provider di identità da contattare in base al nome utente. MSAL4J riceve un token SAML dopo aver contattato il provider di identità. MSAL4J fornisce quindi il token SAML per Microsoft Entra ID come asserzione utente (simile al flusso on-behalf-of) per ottenere un token JWT.