Pubblicazione delle applicazioni con la preautenticazione di AD FS

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Questo contenuto è relativo alla versione locale del Proxy applicazione Web. Per abilitare l'accesso protetto alle applicazioni locali tramite il cloud, vedere le informazioni sul proxy dell’applicazione Microsoft Entra.

Questo argomento descrive come pubblicare applicazioni mediante Proxy applicazione Web usando la preautenticazione di Active Directory Federation Services (AD FS).

Per tutti i tipi di applicazione che possono essere pubblicati mediante la preautenticazione di AD FS, è necessario aggiungere il trust di una relying party di AD FS al servizio federativo.

Il flusso di preautenticazione generale di AD FS è il seguente:

Nota

Questo flusso di autenticazione non è applicabile ai client che usano le app di Microsoft Store.

  1. Il dispositivo client tenta di accedere a un'applicazione Web pubblicata nell'URL di una risorsa specifica, ad esempio https://app1.contoso.com/.

    L'URL della risorsa è un indirizzo pubblico in cui il Proxy applicazione Web ascolta le richieste HTTPS in ingresso.

    Se il reindirizzamento da HTTP a HTTPS è abilitato, Proxy applicazione Web sarà in ascolto anche delle richieste HTTP in ingresso.

  2. Proxy applicazione Web reindirizza la richiesta HTTPS al server di AD FS con parametri codificati dall'URL, inclusi l'URL della risorsa e appRealm, ovvero un identificatore della relying party.

    L'utente esegue l'autenticazione usando il metodo richiesto dal server di AD FS, ad esempio nome utente e password, autenticazione a due fattori con password monouso e così via.

  3. Dopo l'autenticazione dell'utente, il server di AD FS rilascia un token di sicurezza, ovvero il "token perimetrale", contenente le informazioni seguenti e reindirizza la richiesta HTTPS al server Proxy applicazione Web:

    • L'identificativo della risorsa a cui l'utente ha tentato di accedere.

    • L'identità dell'utente come nome dell'entità utente (UPN).

    • La scadenza dell'accesso concesso all'utente. L'utente può infatti accedere per un periodo di tempo limitato, al termine del quale deve eseguire nuovamente l'autenticazione.

    • La firma delle informazioni nel token perimetrale.

  4. Proxy applicazione Web riceve la richiesta HTTPS reindirizzata dal server di AD FS con il token perimetrale e convalida e usa il token nel modo seguente:

    • Verifica che la firma del token perimetrale provenga dal servizio federativo impostato nella configurazione di Proxy applicazione Web.

    • Verifica che il token sia stato emesso per l'applicazione corretta.

    • Verifica che il token non sia scaduto.

    • Utilizza l'identità utente quando necessario, ad esempio per ottenere un ticket Kerberos se il server back-end è configurato per l'utilizzo dell'autenticazione integrata di Windows.

  5. Se il token perimetrale è valido, Proxy applicazione Web inoltra la richiesta HTTPS all'applicazione Web pubblicata usando HTTP o HTTPS.

  6. Il client può quindi accedere all'applicazione Web pubblicata, che tuttavia può essere configurata in modo da richiedere all'utente l'esecuzione di passaggi di autenticazione aggiuntivi. Se ad esempio l'applicazione Web pubblicata è un sito di SharePoint che non richiede passaggi di autenticazione aggiuntivi, tale sito verrà visualizzato nel browser dell'utente.

  7. Proxy applicazione Web salva nel dispositivo client un cookie che viene usato da Proxy applicazione Web per indicare che questa sessione è già stata preautenticata e che non è necessaria alcuna preautenticazione aggiuntiva.

Importante

Quando si configura l'URL esterno e l'URL del server back-end, assicurarsi di includere il nome di dominio completo e non un indirizzo IP.

Nota

Questo argomento include cmdlet di esempio di Windows PowerShell che è possibile usare per automatizzare alcune delle procedure descritte. Per ulteriori informazioni, vedere mediante i cmdlet.

Pubblicare un'applicazione basata su attestazioni per i client del Web browser

Per pubblicare un'applicazione che utilizza le attestazioni per l'autenticazione, è necessario aggiungere al servizio federativo un trust della relying party per l'applicazione.

Quando si pubblicano applicazioni basate sulle attestazioni e si accede alle applicazioni da un browser, il flusso di autenticazione generale è il seguente:

  1. Il client tenta di accedere all'applicazione basata sulle attestazioni mediante un Web browser, ad esempio https://appserver.contoso.com/claimapp/.

  2. Il Web browser invia una richiesta HTTPS al server di Proxy applicazione Web, che reindirizza la richiesta al server di AD FS.

  3. Il server di AD FS esegue l'autenticazione dell'utente e del dispositivo e reindirizza la richiesta a Proxy applicazione Web. La richiesta contiene ora il token perimetrale. Il server di AD FS aggiunge un cookie Single Sign-On (SSO) alla richiesta poiché l'utente ha già eseguito l'autenticazione nel server di AD FS.

  4. Proxy applicazione Web convalida il token, aggiunge il proprio cookie e inoltra la richiesta al server back-end.

  5. Il server back-end reindirizza la richiesta al server di AD FS per ottenere il token di sicurezza dell'applicazione.

  6. La richiesta viene reindirizzata al server back-end dal server di AD FS. La richiesta contiene ora il token dell'applicazione e il cookie SSO. L'utente può accedere all'applicazione senza immettere un nome utente e una password.

Questa procedura descrive come pubblicare un'applicazione basata su attestazioni, ad esempio un sito di SharePoint, a cui i client del Web browser accederanno. Prima di iniziare, assicurarsi di avere eseguito le operazioni seguenti:

  • Creare un trust della relying party per l'applicazione nella console di gestione di AD FS.

  • Verificare che un certificato nel server di Proxy applicazione Web sia adatto all'applicazione che si desidera pubblicare.

Per pubblicare un'applicazione basata su attestazioni

  1. Nel server Proxy applicazione Web, nel riquadro di spostamento della console Gestione accesso remoto, fare clic su Proxy applicazione Web e quindi nel riquadro Attività fare clic su Pubblica.

  2. Nella pagina inizialedella Pubblicazione guidata nuova applicazione fare clic su Avanti.

  3. Nella pagina Preautenticazione fare clic su Active Directory Federation Services (AD FS), quindi su Avanti.

  4. Nella pagina dei client supportati selezionare Web e MSOFBAe quindi fare clic su Avanti.

  5. Nell'elenco di relying party della pagina Relying party selezionare la relying party per l'applicazione che si desidera pubblicare e quindi fare clic su Avanti.

  6. Nella pagina Impostazioni di pubblicazione eseguire le operazioni seguenti e quindi fare clic su Avanti:

    • Nella casella Nome immettere un nome descrittivo per l'applicazione.

      Questo nome viene utilizzato solo nell'elenco di applicazioni pubblicate nella console Gestione accesso remoto.

    • Nella casella URL esterno immettere l'URL esterno dell'applicazione, ad esempio https://sp.contoso.com/app1/.

    • Nell'elenco Certificato esterno selezionare un certificato il cui soggetto includa l'URL esterno.

    • Nella casella URL server back-end immettere l'URL del server back-end. Si noti che questo valore viene immesso automaticamente quando si immette l'URL esterno ed è consigliabile modificarlo solo se l'URL del server back-end è diverso, ad esempio https://sp/app1/.

      Nota

      Proxy applicazione Web può convertire nomi host in URL, ma non è in grado di convertire nomi di percorsi. È pertanto possibile immettere nomi host diversi, ma è necessario immettere lo stesso nome di percorso. Ad esempio, è possibile immettere un URL esterno di https://apps.contoso.com/app1/ e un URL del server back-end di https://app-server/app1/. Tuttavia, non è possibile immettere un URL esterno di https://apps.contoso.com/app1/ e un URL del server back-end di https://apps.contoso.com/internal-app1/.

  7. Nella pagina Conferma verificare le impostazioni e quindi fare clic su Pubblica. È possibile copiare il comando di PowerShell per configurare altre applicazioni pubblicate.

  8. Nella pagina Risultati verificare che l'applicazione sia stata pubblicata correttamente e quindi fare clic su Chiudi.

Comandi equivalenti di Windows PowerShell

Il cmdlet o i cmdlet di Windows PowerShell seguenti eseguono la stessa funzione della procedura precedente. Immettere ogni cmdlet in una singola riga, anche se qui può sembrare che siano divisi su più righe a causa di vincoli di formattazione.

Add-WebApplicationProxyApplication
    -BackendServerURL 'https://sp.contoso.com/app1/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://sp.contoso.com/app1/'
    -Name 'SP'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'SP_Relying_Party'

Pubblicare un'applicazione basata sull'autenticazione integrata di Windows per i client del Web browser

Proxy applicazione Web può essere usato per pubblicare applicazioni che usano l'autenticazione integrata di Windows, ovvero Proxy applicazione Web esegue la preautenticazione come richiesto e può quindi eseguire SSO nell'applicazione pubblicata che utilizza l'autenticazione integrata di Windows. Per pubblicare un'applicazione che utilizza l'autenticazione integrata di Windows, è necessario aggiungere al servizio federativo un trust della relying party non in grado di riconoscere attestazioni per l'applicazione.

Per consentire a Proxy di eseguire Single Sign-On (SSO) e la delega delle credenziali con la delega vincolata Kerberos, il server di Proxy applicazione Web deve far parte di un dominio. Vedere Pianificare Active Directory.

Per consentire agli utenti di accedere alle applicazioni che usano l'autenticazione integrata di Windows, Proxy applicazione Web deve essere in grado di fornire la delega per gli utenti all'applicazione pubblicata È possibile eseguire questa operazione nel controller di dominio per ogni applicazione oppure nel server back-end se è in esecuzione in Windows Server 2012 R2 o Windows Server 2012. Per altre informazioni, vedere Novità dell'autenticazione Kerberos.

Per la procedura dettagliata che illustra come configurare Proxy applicazione Web per pubblicare un'applicazione usando l'autenticazione integrata di Windows, vedere Configurare un sito per l'uso dell'autenticazione integrata di Windows.

Quando si usa l'autenticazione integrata di Windows verso i server back-end, l'autenticazione tra Proxy applicazione Web e l'applicazione pubblicata non è basata sulle attestazioni ma utilizza la delega vincolata Kerberos per autenticare gli utenti finali nell'applicazione. Il flusso generale è quello descritto di seguito:

  1. Il client tenta di accedere all'applicazione non basata sulle attestazioni mediante un Web browser, ad esempio https://appserver.contoso.com/nonclaimapp/.

  2. Il Web browser invia una richiesta HTTPS al server di Proxy applicazione Web, che reindirizza la richiesta al server di AD FS.

  3. Il server di AD FS esegue l'autenticazione dell'utente e reindirizza la richiesta a Proxy applicazione Web. La richiesta contiene ora il token perimetrale.

  4. Proxy applicazione Web convalida il token.

  5. Se il token è valido, Proxy applicazione Web ottiene un ticket Kerberos dal controller di dominio per conto dell'utente.

  6. Proxy aggiunge il ticket Kerberos alla richiesta come parte del token SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) e inoltra la richiesta al server back-end. Poiché la richiesta contiene il ticket Kerberos, l'utente può accedere all'applicazione senza che siano necessari ulteriori passaggi di autenticazione.

Questa procedura descrive come pubblicare un'applicazione che utilizza l'autenticazione integrata di Windows, ad esempio Outlook Web App, a cui i client del Web browser accederanno. Prima di iniziare, assicurarsi di avere eseguito le operazioni seguenti:

  • Creare un trust della relying party non in grado di riconoscere attestazioni per l'applicazione nella console di gestione di AD FS.

  • Configurare il server back-end per il supporto della delega vincolata Kerberos nel controller di dominio oppure utilizzando il cmdlet Set-ADUser con il parametro -PrincipalsAllowedToDelegateToAccount. Si noti che se il server back-end è in esecuzione in Windows Server 2012 R2 o Windows Server 2012, è possibile eseguire questo comando di PowerShell anche nel server back-end.

  • Assicurarsi che i server di Proxy applicazione Web siano configurati per la delega ai nomi dell'entità servizio dei server back-end.

  • Verificare che un certificato nel server di Proxy applicazione Web sia adatto all'applicazione che si desidera pubblicare.

Per pubblicare un'applicazione non basata su attestazioni

  1. Nel server Proxy applicazione Web, nel riquadro di spostamento della console Gestione accesso remoto, fare clic su Proxy applicazione Web e quindi nel riquadro Attività fare clic su Pubblica.

  2. Nella pagina inizialedella Pubblicazione guidata nuova applicazione fare clic su Avanti.

  3. Nella pagina Preautenticazione fare clic su Active Directory Federation Services (AD FS), quindi su Avanti.

  4. Nella pagina dei client supportati selezionare Web e MSOFBAe quindi fare clic su Avanti.

  5. Nell'elenco di relying party della pagina Relying party selezionare la relying party per l'applicazione che si desidera pubblicare e quindi fare clic su Avanti.

  6. Nella pagina Impostazioni di pubblicazione eseguire le operazioni seguenti e quindi fare clic su Avanti:

    • Nella casella Nome immettere un nome descrittivo per l'applicazione.

      Questo nome viene utilizzato solo nell'elenco di applicazioni pubblicate nella console Gestione accesso remoto.

    • Nella casella URL esterno immettere l'URL esterno dell'applicazione, ad esempio https://owa.contoso.com/.

    • Nell'elenco Certificato esterno selezionare un certificato il cui soggetto includa l'URL esterno.

    • Nella casella URL server back-end immettere l'URL del server back-end. Si noti che questo valore viene immesso automaticamente quando si immette l'URL esterno ed è consigliabile modificarlo solo se l'URL del server back-end è diverso, ad esempio https://owa/.

      Nota

      Proxy applicazione Web può convertire nomi host in URL, ma non è in grado di convertire nomi di percorsi. È pertanto possibile immettere nomi host diversi, ma è necessario immettere lo stesso nome di percorso. Ad esempio, è possibile immettere un URL esterno di https://apps.contoso.com/app1/ e un URL del server back-end di https://app-server/app1/. Tuttavia, non è possibile immettere un URL esterno di https://apps.contoso.com/app1/ e un URL del server back-end di https://apps.contoso.com/internal-app1/.

    • Nella casella SPN server back-end immettere il nome dell'entità servizio per il server back-end, ad esempio HTTP/owa.contoso.com.

  7. Nella pagina Conferma verificare le impostazioni e quindi fare clic su Pubblica. È possibile copiare il comando di PowerShell per configurare altre applicazioni pubblicate.

  8. Nella pagina Risultati verificare che l'applicazione sia stata pubblicata correttamente e quindi fare clic su Chiudi.

Comandi equivalenti di Windows PowerShell

Il cmdlet o i cmdlet di Windows PowerShell seguenti eseguono la stessa funzione della procedura precedente. Immettere ogni cmdlet in una singola riga, anche se qui può sembrare che siano divisi su più righe a causa di vincoli di formattazione.

Add-WebApplicationProxyApplication
    -BackendServerAuthenticationSpn 'HTTP/owa.contoso.com'
    -BackendServerURL 'https://owa.contoso.com/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://owa.contoso.com/'
    -Name 'OWA'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'Non-Claims_Relying_Party'

Pubblicare un'applicazione che usa MS-OFBA

Proxy applicazione Web supporta l'accesso dai client di Microsoft Office, ad esempio Microsoft Word che accede a documenti e dati nei server back-end. L'unica differenza tra queste applicazioni e un browser standard consiste nel fatto che il reindirizzamento al servizio token di sicurezza (STS) viene eseguito non mediante il reindirizzamento standard HTTP ma con intestazioni MS-OFBA specifiche come illustrato in https://msdn.microsoft.com/library/dd773463(v=office.12).aspx. L'applicazione back-end può essere basata sulle attestazioni o sull'autenticazione integrata di Windows. Per pubblicare un'applicazione per i client che usano MS-OFBA, è necessario aggiungere al servizio federativo un trust della relying party per l'applicazione. A seconda dell'applicazione, è possibile utilizzare l'autenticazione basata sulle attestazioni oppure l'autenticazione integrata di Windows. È pertanto necessario aggiungere il trust della relying party pertinente in base all'applicazione.

Per consentire a Proxy di eseguire Single Sign-On (SSO) e la delega delle credenziali con la delega vincolata Kerberos, il server di Proxy applicazione Web deve far parte di un dominio. Vedere Pianificare Active Directory.

Se l'applicazione usa l'autenticazione basata su attestazioni non sono necessarie altre fase di pianificazione. Se l'applicazione usa l'autenticazione integrata di Windows, vedere Pubblicare un'applicazione basata su autenticazione Windows integrata per client Web browser.

Il flusso di autenticazione per i client che usano il protocollo MS-OFBA mediante l'autenticazione basata sulle attestazioni è il seguente. L'autenticazione per questo scenario può utilizzare il token dell'applicazione nell'URL oppure nel corpo.

  1. L'utente sta utilizzando un'applicazione di Office e dall'elenco Documenti recenti apre un file in un sito di SharePoint.

  2. Nell'applicazione di Office viene visualizzata una finestra con un controllo browser che richiede l'immissione di credenziali.

    Nota

    In alcuni casi è possibile che la finestra non venga visualizzata perché il client è già autenticato.

  3. Proxy applicazione Web reindirizza la richiesta al server di AD FS che esegue l'autenticazione.

  4. Il server di AD FS reindirizza la richiesta a Proxy applicazione Web. La richiesta contiene ora il token perimetrale.

  5. Il server di AD FS aggiunge un cookie Single Sign-On (SSO) alla richiesta poiché l'utente ha già eseguito l'autenticazione nel server di AD FS.

  6. Proxy applicazione Web convalida il token e inoltra la richiesta al server back-end.

  7. Il server back-end reindirizza la richiesta al server di AD FS per ottenere il token di sicurezza dell'applicazione.

  8. La richiesta viene reindirizzata al server back-end. La richiesta contiene ora il token dell'applicazione e il cookie SSO. L'utente può accedere al sito di SharePoint senza immettere un nome utente e una password per visualizzare il file.

I passaggi necessari per la pubblicazione di un'applicazione che utilizzi MS-OFBA sono identici a quelli per un'applicazione basata su attestazioni o un'applicazione non basata su attestazioni. Per le applicazioni basate sulle attestazioni, vedere Pubblicare un'applicazione basata su attestazioni per i client Web browser, per le applicazioni non basate su attestazioni, vedere Pubblicare un'applicazione basata su autenticazione Windows integrata per client Web browser. Proxy applicazione Web rileva automaticamente il client ed esegue l'autenticazione dell'utente come richiesto.

Pubblicare un'applicazione che usa HTTP Basic

HTTP Basic è il protocollo di autorizzazione usato da numerosi protocolli per la connessione rich client, tra cui smartphone, con la cassetta postale di Exchange. Per altre informazioni su HTTP Basic, vedere RFC 2617. Proxy applicazione Web in genere interagisce con AD FS mediante reindirizzamenti; la maggior parte dei rich client non supporta i cookie o la gestione dello stato. In questo modo Proxy applicazione Web consente all'app HTTP di ricevere un trust della relying party non basata su attestazioni per l'applicazione al servizio federativo. Vedere Pianificare Active Directory.

Il flusso di autenticazione per i client che usano HTTP Basic è descritto di seguito e in questo diagramma:

Authentication diagram for HTTP Basic

  1. L'utente tenta di accedere a un'applicazione Web pubblicata mediante un client telefonico.

  2. L'app invia una richiesta HTTPS all'URL pubblicato da Proxy applicazione Web.

  3. Se la richiesta non contiene credenziali, Proxy applicazione Web restituisce una risposta HTTP 401 all'app contenente l'URL del server AD FS di autenticazione.

  4. L'utente invia nuovamente la richiesta HTTPS all'app con autorizzazione impostata su Basic e nome utente e password crittografata Base 64 dell'utente nell'intestazione della richiesta www-authenticate.

  5. Poiché il dispositivo non può essere reindirizzato ad AD FS, Proxy applicazione Web invia una richiesta di autenticazione ad AD FS con le credenziali di cui dispone, inclusi nome utente e password. Il token viene acquisito per conto del dispositivo.

  6. Per ridurre al minimo il numero di richieste inviate ad AD FS, Proxy applicazione Web convalida le richieste client successive usando i token memorizzati nella cache finché il token è valido. Proxy applicazione Web pulisce periodicamente la cache. È possibile visualizzare le dimensioni della cache usando il contatore delle prestazioni.

  7. Se il token è valido, Proxy applicazione Web inoltra la richiesta al server back-end e all'utente viene concesso l'accesso all'applicazione Web pubblicata.

La procedura seguente illustra come pubblicare applicazioni HTTPS Basic.

Per pubblicare un'applicazione HTTP Basic

  1. Nel server Proxy applicazione Web, nel riquadro di spostamento della console Gestione accesso remoto, fare clic su Proxy applicazione Web e quindi nel riquadro Attività fare clic su Pubblica.

  2. Nella pagina inizialedella Pubblicazione guidata nuova applicazione fare clic su Avanti.

  3. Nella pagina Preautenticazione fare clic su Active Directory Federation Services (AD FS), quindi su Avanti.

  4. Nella pagina Client supportati selezionare HTTP Basic e quindi fare clic su Avanti.

    Se si vuole abilitare l'accesso a Exchange solo dai dispositivi aggiunti all'area di lavoro, selezionare la casella Abilita l'accesso solo per i dispositivi aggiunti all'area di lavoro. Per altre informazioni, vedere Accedere a un'area di lavoro da qualsiasi dispositivo per SSO e autenticazione a due fattori trasparente per tutte le applicazioni aziendali.

  5. Nell'elenco di relying party della pagina Relying party selezionare la relying party per l'applicazione che si desidera pubblicare e quindi fare clic su Avanti. Si noti che questo elenco contiene solo relying party basate su claim.

  6. Nella pagina Impostazioni di pubblicazione eseguire le operazioni seguenti e quindi fare clic su Avanti:

    • Nella casella Nome immettere un nome descrittivo per l'applicazione.

      Questo nome viene utilizzato solo nell'elenco di applicazioni pubblicate nella console Gestione accesso remoto.

    • Nella casella URL esterno immettere l'URL esterno per l'applicazione, ad esempio mail.contoso.com

    • Nell'elenco Certificato esterno selezionare un certificato il cui soggetto includa l'URL esterno.

    • Nella casella URL server back-end immettere l'URL del server back-end. Si noti che questo valore viene immesso automaticamente quando si immette l'URL esterno ed è consigliabile modificarlo solo se l'URL del server back-end è diverso, ad esempio mail.contoso.com.

  7. Nella pagina Conferma verificare le impostazioni e quindi fare clic su Pubblica. È possibile copiare il comando di PowerShell per configurare altre applicazioni pubblicate.

  8. Nella pagina Risultati verificare che l'applicazione sia stata pubblicata correttamente e quindi fare clic su Chiudi.

Comandi equivalenti di Windows PowerShell

Il cmdlet o i cmdlet di Windows PowerShell seguenti eseguono la stessa funzione della procedura precedente. Immettere ogni cmdlet in una singola riga, anche se qui può sembrare che siano divisi su più righe a causa di vincoli di formattazione.

Questo script di Windows PowerShell abilita la preautenticazione per tutti i dispositivi, non solo per i dispositivi aggiunti all'area di lavoro.

Add-WebApplicationProxyApplication
     -BackendServerUrl 'https://mail.contoso.com'
     -ExternalCertificateThumbprint '697F4FF0B9947BB8203A96ED05A3021830638E50'
     -ExternalUrl 'https://mail.contoso.com'
     -Name 'Exchange'
     -ExternalPreAuthentication ADFSforRichClients
     -ADFSRelyingPartyName 'EAS_Relying_Party'

Quanto riportato di seguito esegue la preautenticazione solo per i dispositivi aggiunti all'area di lavoro:

Add-WebApplicationProxyApplication
     -BackendServerUrl 'https://mail.contoso.com'
     -ExternalCertificateThumbprint '697F4FF0B9947BB8203A96ED05A3021830638E50'
     -EnableHTTPRedirect:$true
     -ExternalUrl 'https://mail.contoso.com'
     -Name 'Exchange'
     -ExternalPreAuthentication ADFSforRichClients
     -ADFSRelyingPartyName 'EAS_Relying_Party'

Pubblicare un'applicazione che usi OAuth2, ad esempio un'app di Microsoft Store

Per pubblicare un'applicazione per le app di Microsoft Store, è necessario aggiungere al servizio federativo un trust della relying party per l'applicazione.

Per consentire a Proxy di eseguire Single Sign-On (SSO) e la delega delle credenziali con la delega vincolata Kerberos, il server di Proxy applicazione Web deve far parte di un dominio. Vedere Pianificare Active Directory.

Nota

Proxy applicazione Web supporta la pubblicazione solo per le app di Microsoft Store che usano il protocollo OAuth 2.0.

Nella console di gestione di AD FS è necessario verificare che l'endpoint OAuth sia abilitato per il proxy. A tale scopo, aprire la console di gestione di ADFS, espandere Servizioe fare clic su Endpoint. Nell'elenco Endpoint individuare l'endpoint OAuth e verificare che il valore nella colonna Proxy abilitato sia .

Il flusso di autenticazione per i client che usano le app di Microsoft Store è il seguente:

Nota

Proxy applicazione Web reindirizza al server AD FS per l'autenticazione. Poiché le app di Microsoft Store non supportano il reindirizzamento, se le si usano è necessario impostare l'URL del server di AD FS mediante il cmdlet Set-WebApplicationProxyConfiguration e il parametro OAuthAuthenticationURL.

Le app di Microsoft Store possono essere pubblicate solo con Windows PowerShell.

  1. Il client tenta di accedere a un'applicazione Web pubblicata mediante un'app di Microsoft Store.

  2. L'app invia una richiesta HTTPS all'URL pubblicato da Proxy applicazione Web.

  3. Proxy applicazione Web restituisce una risposta HTTP 401 all'app contenente l'URL del server di AD FS che esegue l'autenticazione. Questo processo è noto anche come "individuazione".

    Nota

    Se l'app conosce l'URL del server di AD FS che esegue l'autenticazione e dispone già di un token combinato contenente il token OAuth e il token perimetrale, i passaggi 2 e 3 vengono ignorati in questo flusso di autenticazione.

  4. L'app invia una richiesta HTTPS al server di AD FS.

  5. L'app usa il gestore delle autenticazioni Web per generare una finestra di dialogo in cui l'utente immette le credenziali per eseguire l'autenticazione nel server di AD FS. Per informazioni sul gestore delle autenticazioni Web, vedere Gestore di autenticazioni Web.

  6. Al termine dell'autenticazione, il server di AD FS crea un token combinato contenente il token OAuth e il token perimetrale e invia il token all'app.

  7. L'app invia all'URL pubblicato da Proxy applicazione Web una richiesta HTTPS contenente il token combinato.

  8. Proxy applicazione Web divide il token combinato nelle due parti componenti e convalida il token perimetrale.

  9. Se il token perimetrale è valido, Proxy applicazione Web inoltra al server back-end la richiesta contenente solo il token OAuth. L'utente può accedere all'applicazione Web pubblicata.

Questa procedura descrive come pubblicare un'applicazione per OAuth2. Questo tipo di applicazione può essere pubblicato solo usando Windows PowerShell. Prima di iniziare, assicurarsi di avere eseguito le operazioni seguenti:

  • Creare un trust della relying party per l'applicazione nella console di gestione di AD FS.

  • Assicurarsi che l'endpoint di OAuth sia abilitato per il proxy nella console di gestione di AD FS e prendere nota del percorso dell'URL.

  • Verificare che un certificato nel server di Proxy applicazione Web sia adatto all'applicazione che si desidera pubblicare.

Per pubblicare un'app OAuth2

  1. Nel server Proxy applicazione Web, nel riquadro di spostamento della console Gestione accesso remoto, fare clic su Proxy applicazione Web e quindi nel riquadro Attività fare clic su Pubblica.

  2. Nella pagina inizialedella Pubblicazione guidata nuova applicazione fare clic su Avanti.

  3. Nella pagina Preautenticazione fare clic su Active Directory Federation Services (AD FS), quindi su Avanti.

  4. Nella pagina Client supportati selezionare OAuth2 e quindi fare clic su Avanti.

  5. Nell'elenco di relying party della pagina Relying party selezionare la relying party per l'applicazione che si desidera pubblicare e quindi fare clic su Avanti.

  6. Nella pagina Impostazioni di pubblicazione eseguire le operazioni seguenti e quindi fare clic su Avanti:

    • Nella casella Nome immettere un nome descrittivo per l'applicazione.

      Questo nome viene utilizzato solo nell'elenco di applicazioni pubblicate nella console Gestione accesso remoto.

    • Nella casella URL esterno immettere l'URL esterno dell'applicazione, ad esempio https://server1.contoso.com/app1/.

    • Nell'elenco Certificato esterno selezionare un certificato il cui soggetto includa l'URL esterno.

      Per assicurarsi che gli utenti possano accedere all'app, anche se non digitano HTTPS nell'URL, selezionare la casella Abilita HTTP per il reindirizzamento a HTTPS.

    • Nella casella URL server back-end immettere l'URL del server back-end. Si noti che questo valore viene immesso automaticamente quando si immette l'URL esterno ed è consigliabile modificarlo solo se l'URL del server back-end è diverso, ad esempio https://sp/app1/.

      Nota

      Proxy applicazione Web può convertire nomi host in URL, ma non è in grado di convertire nomi di percorsi. È pertanto possibile immettere nomi host diversi, ma è necessario immettere lo stesso nome di percorso. Ad esempio, è possibile immettere un URL esterno di https://apps.contoso.com/app1/ e un URL del server back-end di https://app-server/app1/. Tuttavia, non è possibile immettere un URL esterno di https://apps.contoso.com/app1/ e un URL del server back-end di https://apps.contoso.com/internal-app1/.

  7. Nella pagina Conferma verificare le impostazioni e quindi fare clic su Pubblica. È possibile copiare il comando di PowerShell per configurare altre applicazioni pubblicate.

  8. Nella pagina Risultati verificare che l'applicazione sia stata pubblicata correttamente e quindi fare clic su Chiudi.

Immettere ogni cmdlet in una singola riga, anche se qui può sembrare che siano divisi su più righe a causa di vincoli di formattazione.

Per impostare l'URL dell'autenticazione OAuth per un indirizzo del server federativo di fs.contoso.com e un percorso di URL di /adfs/oauth2/:

Set-WebApplicationProxyConfiguration -OAuthAuthenticationURL 'https://fs.contoso.com/adfs/oauth2/'

Per pubblicare l'applicazione:

Add-WebApplicationProxyApplication
    -BackendServerURL 'https://storeapp.contoso.com/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://storeapp.contoso.com/'
    -Name 'Microsoft Store app Server'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'Store_app_Relying_Party'
    -UseOAuthAuthentication