Publication d’applications à l’aide de la préauthentification AD FS

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016

Ce contenu concerne la version locale du Proxy d’application Web. Pour permettre un accès sécurisé aux applications locales via le cloud, consultez le contenu du proxy d'application Microsoft Entra.

Cette rubrique explique comment publier des applications via le proxy d’application Web à l’aide de la pré-authentification des services de fédération Active Directory (AD FS).

Pour tous les types d’applications que vous pouvez publier à l’aide de la pré-authentification des AD FS, vous devez ajouter une partie de confiance des AD FS au service de fédération (FS).

Le flux général de pré-authentification des AD FS est le suivant :

Notes

Ce flux d’authentification n’est pas applicable aux clients qui utilisent des applications du Microsoft Store.

  1. L’appareil client essaie d’accéder à une application Web publiée sur une URL de ressource spécifique ; par exemple https://app1.contoso.com/.

    L’URL de ressource est une adresse publique sur laquelle le proxy d’application Web écoute les requêtes HTTPS entrantes.

    Si la redirection HTTP vers HTTPS est activée, le proxy d’application Web écoute également les requêtes HTTP entrantes.

  2. Le proxy d’application Web redirige la requête HTTPS vers le serveur des AD FS avec les paramètres encodés dans l’URL, y compris l’URL de ressource et le appRealm (un identificateur de partie de confiance).

    L’utilisateur s’authentifie à l’aide de la méthode d’authentification requise par le serveur des AD FS ; par exemple, le nom d’utilisateur et le mot de passe, l’authentification à 2 facteurs avec un mot de passe à usage unique, etc.

  3. Une fois l’utilisateur authentifié, le serveur des AD FS émet un jeton de sécurité, le « jeton edge », qui contient les informations suivantes et redirige la requête HTTPS vers le serveur proxy d’application Web :

    • L’identificateur de ressource auquel l’utilisateur essaie d’accéder.

    • L’identité de l’utilisateur sous la forme d’un nom d’utilisateur principal (UPN).

    • L’expiration de l’approbation d’accès accordée (l’accès est accordé à l’utilisateur pour une période de temps limitée, ensuite l’utilisateur doit de nouveau s’authentifier).

    • La signature des informations dans le jeton edge.

  4. Le proxy d’application Web reçoit la requête HTTPS redirigée à partir du serveur des AD FS avec le jeton edge, et valide et utilise le jeton comme suit :

    • Valide que la signature du jeton edge est bien celle du service de fédération qui est configuré dans la configuration du proxy d’application Web.

    • Valide que ce jeton a été émis par l’application correcte.

    • Valide que le jeton n’a pas expiré.

    • Utilise l’identité de l’utilisateur quand cela est nécessaire, par exemple pour obtenir un ticket Kerberos si le serveur principal est configuré pour utiliser l’authentification Windows intégrée.

  5. Si le jeton edge est valide, le proxy d’application Web transfère la requête HTTPS à l’application Web publiée à l’aide de HTTP ou HTTPS.

  6. Le client a désormais accès à l’application Web publiée, cependant, l’application publiée peut être configurée pour exiger de l’utilisateur une authentification supplémentaire. Par exemple, si l’application Web publiée est un site SharePoint et ne nécessite pas d’authentification supplémentaire, l’utilisateur pourra afficher le site SharePoint dans un navigateur.

  7. Le proxy d’application Web enregistre un cookie sur l’appareil client. Ce cookie est utilisé par le proxy d’application Web pour identifier que cette session a déjà été pré-authentifiée et qu’aucune autre pré-authentification n’est nécessaire.

Important

Lors de la configuration de l’URL externe et de l’URL du serveur principal, vous devez entrer un nom de domaine complet (FQDN), et non une adresse IP.

Notes

Cette rubrique inclut des exemples d'applets de commande Windows PowerShell que vous pouvez utiliser pour automatiser certaines des procédures décrites. Pour plus d’informations, consultez Utilisation des applets de commande.

Publier une application basée sur les revendications pour des clients de navigateur Web

Pour publier une application qui utilise des revendications pour l’authentification, vous devez ajouter une approbation de partie de confiance pour l’application au service de fédération.

Lors de la publication d’applications basées sur les revendications et de l’accès à l’application à partir d’un navigateur, le flux d’authentification général est le suivant :

  1. Le client essaie d’accéder à une application basée sur les revendications en utilisant un navigateur Web, par exemple, https://appserver.contoso.com/claimapp/.

  2. Le navigateur Web envoie une requête HTTPS au serveur proxy d’application Web qui la redirige vers le serveur des AD FS.

  3. Le serveur des AD FS authentifie l’utilisateur et l’appareil et redirige la requête vers le proxy d’application Web. La requête contient désormais le jeton edge. Le serveur des AD FS ajoute un cookie d’authentification unique (SSO) à la requête, car l’utilisateur a déjà effectué l’authentification sur le serveur des AD FS.

  4. Le proxy d’application Web valide le jeton, ajoute son propre cookie et transfère la requête au serveur principal.

  5. Le serveur principal redirige la requête au serveur des AD FS pour obtenir le jeton de sécurité d’application.

  6. La requête est redirigée vers le serveur principal par le serveur des AD FS. La requête contient désormais le jeton d’application et le cookie SSO. L’accès à l’application est accordé à l’utilisateur et ce dernier n’a pas besoin d’entrer un nom d’utilisateur ou un mot de passe.

Cette procédure décrit comment publier une application basée sur les revendications, par exemple un site SharePoint, qui sera accessible aux clients de navigateur Web. Avant de commencer, assurez-vous d’avoir effectué les étapes suivantes :

  • Créé une approbation de partie de confiance pour l’application dans la console de gestion des AD FS.

  • Vérifié qu’un certificat sur le serveur proxy d’application Web convient à l’application que vous voulez publier.

Pour publier une application basée sur les revendications

  1. Sur le serveur proxy d’application Web, dans la console Gestion de l’accès à distance, dans le volet Navigation, cliquez sur Proxy d’application Web, puis dans le volet Tâches, cliquez sur Publier.

  2. Dans l’Assistant Publication d’une nouvelle application, dans la page Bienvenue, cliquez sur Suivant.

  3. Sur la page Pré-authentification, cliquez sur Services de fédération Active Directory (AD FS), puis cliquez sur Suivant.

  4. Sur la page Clients pris en charge, sélectionnez Web et MSOFBA, puis cliquez sur Suivant.

  5. Dans la page Partie de confiance, dans la liste des parties de confiance, sélectionnez la partie de confiance pour l’application que vous voulez publier, puis cliquez sur Suivant.

  6. Dans la page Paramètres de publication, procédez comme suit et cliquez sur Suivant :

    • Dans la zone Nom, tapez un nom convivial pour l’application.

      Ce nom est utilisé uniquement dans la liste des applications publiées dans la console de gestion de l’accès à distance.

    • Dans la zone URL externe, entrez l’URL externe pour cette application, par exemple, https://sp.contoso.com/app1/.

    • Dans la liste Certificat externe, sélectionnez un certificat dont l’objet couvre l’URL externe.

    • Dans la zone URL du serveur principal, entrez l’URL du serveur principal. Cette valeur est entrée automatiquement quand vous entrez l’URL externe et vous ne devez la modifier que si l’URL du serveur principal n’est pas la même ; par exemple, https://sp/app1/.

      Notes

      Le proxy d’application Web peut traduire les noms d’hôte en URL, mais ne peut pas traduire les noms de chemin. C’est pourquoi, vous pouvez entrer différents noms d’hôte, mais vous devez entrer le même nom de chemin. Par exemple, vous pouvez entrer une URL externe de https://apps.contoso.com/app1/ et une URL de serveur principal de https://app-server/app1/. Cependant, vous ne pouvez pas entrer une URL externe de https://apps.contoso.com/app1/ et une URL de serveur principal de https://apps.contoso.com/internal-app1/.

  7. Dans la page Confirmation, passez les paramètres en revue, puis cliquez sur Publier. Vous pouvez copier la commande PowerShell pour l’installation d’applications publiées supplémentaires.

  8. Dans la page Résultats, vérifiez que l’application a été correctement publiée, puis cliquez sur Fermer.

Commandes Windows PowerShell équivalentes

L'applet ou les applets de commande Windows PowerShell suivantes remplissent la même fonction que la procédure précédente. Entrez chaque applet de commande sur une seule ligne, même si elles peuvent apparaître comme renvoyées sur plusieurs lignes ici en raison de contraintes de mise en forme.

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

Publier une application basée sur l’authentification Windows intégrée pour les clients de navigateur Web

Le proxy d’application Web peut être utilisé pour publier des applications qui utilisent l’authentification Windows intégrée ; c’est-à-dire, que le proxy d’application Web effectue la pré-authentification requise, puis peut effectuer une authentification SSO sur l’application publiée qui utilise l’authentification Windows intégrée. Pour publier une application qui utilise l’authentification Windows intégrée, vous devez ajouter une approbation de partie de confiance sans revendication pour l’application au service de fédération.

Pour autoriser le proxy d’application Web d’effectuer une authentification unique (SSO) et de déléguer des informations d’identification à l’aide de la délégation contrainte Kerberos, le serveur proxy d’application Web doit être joint à un domaine. Consultez la section Planifier Active Directory.

Pour permettre aux utilisateurs d’accéder aux applications qui utilisent l’authentification Windows intégrée, le serveur proxy d’application Web doit être en mesure de fournir la délégation pour les utilisateurs sur l’application publiée. Vous pouvez effectuer cette opération sur le contrôleur de domaine de n’importe quelle application. Vous pouvez également effectuer cette opération sur le serveur principal s’il exécute Windows Server 2012 R2 ou Windows Server 2012. Pour plus d’informations, voir Nouveautés de l’authentification Kerberos.

Pour obtenir une procédure de configuration du proxy d’application Web pour publier une application à l’aide de l’authentification Windows intégrée, voir Configurer un site pour l’utilisation de l’authentification Windows intégrée.

Lors de l’utilisation de l’authentification Windows intégrée sur les serveurs principaux, l’authentification entre le proxy d’application Web et l’application publiée n’est pas basée sur les revendications, mais la délégation contrainte Kerberos est utilisée pour authentifier les utilisateurs finaux sur l’application. Le flux général est décrit ci-dessous :

  1. Le client essaie d’accéder à une application qui n’est pas basée sur les revendications en utilisant un navigateur Web, par exemple, https://appserver.contoso.com/nonclaimapp/.

  2. Le navigateur Web envoie une requête HTTPS au serveur proxy d’application Web qui la redirige vers le serveur des AD FS.

  3. Le serveur des AD FS authentifie l’utilisateur et redirige la requête vers le proxy d’application Web. La requête contient désormais le jeton edge.

  4. Le proxy d’application Web valide le jeton.

  5. Si le jeton est valide, le proxy d’application Web obtient un ticket Kerberos du contrôleur de domaine de la part de l’utilisateur.

  6. Le proxy d’application Web ajoute le ticket Kerberos à la requête dans le jeton SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) et transfère la requête au serveur principal. La requête contient le ticket Kerberos donc l’utilisateur a accès à l’application et n’a pas besoin de s’authentifier de nouveau.

Cette procédure décrit comment publier une application qui utilise l’authentification Windows intégrée, par exemple Outlook Web App, qui sera accessible aux clients de navigateur Web. Avant de commencer, assurez-vous d’avoir effectué les étapes suivantes :

  • Créé une approbation de partie de confiance qui n’est pas basée sur les revendications pour l’application dans la console de gestion des AD FS.

  • Configuré le serveur principal pour prendre en charge la délégation contrainte Kerberos sur le contrôleur de domaine ou en utilisant l’applet de commande Set-ADUser avec le paramètre -PrincipalsAllowedToDelegateToAccount. Si le serveur principal exécute Windows Server 2012 R2 ou Windows Server 2012, vous pouvez également exécuter cette commande PowerShell sur le serveur principal.

  • Vérifié que les serveurs proxy d’application Web sont configurés pour la délégation des noms de principal de service des serveurs principaux.

  • Vérifié qu’un certificat sur le serveur proxy d’application Web convient à l’application que vous voulez publier.

Pour publier une application qui n’est pas basée sur les revendications

  1. Sur le serveur proxy d’application Web, dans la console Gestion de l’accès à distance, dans le volet Navigation, cliquez sur Proxy d’application Web, puis dans le volet Tâches, cliquez sur Publier.

  2. Dans l’Assistant Publication d’une nouvelle application, dans la page Bienvenue, cliquez sur Suivant.

  3. Sur la page Pré-authentification, cliquez sur Services de fédération Active Directory (AD FS), puis cliquez sur Suivant.

  4. Sur la page Clients pris en charge, sélectionnez Web et MSOFBA, puis cliquez sur Suivant.

  5. Dans la page Partie de confiance, dans la liste des parties de confiance, sélectionnez la partie de confiance pour l’application que vous voulez publier, puis cliquez sur Suivant.

  6. Dans la page Paramètres de publication, procédez comme suit et cliquez sur Suivant :

    • Dans la zone Nom, tapez un nom convivial pour l’application.

      Ce nom est utilisé uniquement dans la liste des applications publiées dans la console de gestion de l’accès à distance.

    • Dans la zone URL externe, entrez l’URL externe pour cette application, par exemple, https://owa.contoso.com/.

    • Dans la liste Certificat externe, sélectionnez un certificat dont l’objet couvre l’URL externe.

    • Dans la zone URL du serveur principal, entrez l’URL du serveur principal. Cette valeur est entrée automatiquement quand vous entrez l’URL externe et vous ne devez la modifier que si l’URL du serveur principal n’est pas la même ; par exemple, https://owa/.

      Notes

      Le proxy d’application Web peut traduire les noms d’hôte en URL, mais ne peut pas traduire les noms de chemin. C’est pourquoi, vous pouvez entrer différents noms d’hôte, mais vous devez entrer le même nom de chemin. Par exemple, vous pouvez entrer une URL externe de https://apps.contoso.com/app1/ et une URL de serveur principal de https://app-server/app1/. Cependant, vous ne pouvez pas entrer une URL externe de https://apps.contoso.com/app1/ et une URL de serveur principal de https://apps.contoso.com/internal-app1/.

    • Dans la zone SPN du serveur principal, entrez le nom de principal du service pour le serveur principal, par exemple, HTTP/owa.contoso.com.

  7. Dans la page Confirmation, passez les paramètres en revue, puis cliquez sur Publier. Vous pouvez copier la commande PowerShell pour l’installation d’applications publiées supplémentaires.

  8. Dans la page Résultats, vérifiez que l’application a été correctement publiée, puis cliquez sur Fermer.

Commandes Windows PowerShell équivalentes

L'applet ou les applets de commande Windows PowerShell suivantes remplissent la même fonction que la procédure précédente. Entrez chaque applet de commande sur une seule ligne, même si elles peuvent apparaître comme renvoyées sur plusieurs lignes ici en raison de contraintes de mise en forme.

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'

Publier une application qui utilise MS-OFBA

Le proxy d’application Web prend en charge l’accès à partir de clients Microsoft Office, par exemple l’accès de Microsoft Word à des documents et des données qui se trouvent sur les serveurs principaux. La seule différence entre ces applications et un navigateur standard est que la redirection vers le STS n’est pas effectuée via une redirection HTTP mais via des en-têtes MS-OFBA spéciaux comme indiqué dans : https://msdn.microsoft.com/library/dd773463(v=office.12).aspx. L’application principale peut être basée sur les revendications ou IWA. Pour publier une application pour les clients qui utilisent MS-OFBA, vous devez ajouter une approbation de partie de confiance pour l’application au service de fédération. En fonction de l’application, vous pouvez utiliser l’authentification basée sur les revendications ou l’authentification Windows intégrée. C’est pourquoi, vous devez ajouter l’approbation de partie de confiance appropriée à l’application.

Pour autoriser le proxy d’application Web d’effectuer une authentification unique (SSO) et de déléguer des informations d’identification à l’aide de la délégation contrainte Kerberos, le serveur proxy d’application Web doit être joint à un domaine. Consultez la section Planifier Active Directory.

Aucune étape de planification supplémentaire n'est nécessaire si l'application utilise l'authentification basée sur les revendications. Si l’application utilise l’authentification Windows intégrée, consultez Publier une application basée sur l’authentification Windows intégrée pour les clients de navigateur Web.

Le flux d’authentification pour les clients qui utilisent le protocole MS-OFBA avec une authentification basée sur les revendications est décrit ci-dessous. L’authentification pour ce scénario peut utiliser le jeton d’application dans l’URL ou dans le corps.

  1. L’utilisateur travaille dans un programme Office, et à partir de la liste Documents récents, ouvre un fichier sur un site SharePoint.

  2. Le programme Office affiche une fenêtre avec un contrôle de navigateur qui nécessite la saisie d’informations d’identification.

    Notes

    Dans certains cas, la fenêtre peut ne pas s’afficher car le client est déjà authentifié.

  3. Le proxy d’application Web redirige la requête vers le serveur des AD FS, qui effectue l’authentification.

  4. Le serveur des AD FS redirige la requête vers le proxy d’application Web. La requête contient désormais le jeton edge.

  5. Le serveur des AD FS ajoute un cookie d’authentification unique (SSO) à la requête, car l’utilisateur a déjà effectué l’authentification sur le serveur des AD FS.

  6. Le proxy d’application Web valide le jeton et transfère la requête au serveur principal.

  7. Le serveur principal redirige la requête au serveur des AD FS pour obtenir le jeton de sécurité d’application.

  8. La requête est redirigée vers le serveur principal. La requête contient désormais le jeton d’application et le cookie SSO. L’accès au site SharePoint est accordé à l’utilisateur et ce dernier n’a pas besoin d’entrer un nom d’utilisateur ou un mot de passe pour afficher le fichier.

Les étapes nécessaires à la publication d’une application qui utilise MS-OFBA sont identiques à celles d’une application basée sur des revendications ou d’une application non basée sur celles-ci. Pour les applications basées sur des revendications, consultez Publier une application basée sur des revendications pour les clients de navigateur Web, pour les applications non basées sur des revendications, voir Publier une application basée sur l’authentification Windows intégrée pour les clients de navigateur Web. Le proxy d’application Web détecte automatiquement le client et authentifiera l’utilisateur comme requis.

Publier une application qui utilise HTTP Basic

HTTP Basic est le protocole d’autorisation utilisé par de nombreux protocoles pour connecter des clients riches (notamment des smartphones) à votre boîte aux lettres Exchange. Pour plus d’informations sur HTTP Basic, consultez RFC 2617. Le proxy d’application Web interagit traditionnellement avec les AD FS à l’aide de redirections ; la plupart des clients riches ne prennent pas en charge les cookies ou la gestion de l’état. De cette façon, le proxy d’application Web permet à l’application HTTP de recevoir une approbation de la partie de confiance non basée sur les revendications pour l’application au service de fédération. Consultez la section Planifier Active Directory.

Le flux d’authentification pour les clients qui utilisent HTTP Basic est décrit ci-dessous et dans ce diagramme :

Authentication diagram for HTTP Basic

  1. L’utilisateur essaie d’accéder à une application Web publiée à l’aide d’un client téléphonique.

  2. L’application envoie une requête HTTPS à l’URL publiée par le proxy d’application Web.

  3. Si la requête ne contient pas d’informations d’identification, le proxy d’application Web renvoie une réponse HTTP 401 à l’application contenant l’URL du serveur des AD FS d’authentification.

  4. L’utilisateur envoie à nouveau la requête HTTPS à l’application avec l’autorisation définie sur Basic, le nom d’utilisateur et le mot de passe chiffré Base 64 de l’utilisateur dans l’en-tête de la requête www-authenticate.

  5. Étant donné que l’appareil ne peut pas être redirigé vers les services AD FS, le proxy d’application Web envoie une demande d’authentification aux AD FS avec les informations d’identification dont il dispose, notamment le nom d’utilisateur et le mot de passe. Le jeton est acquis au nom de l’appareil.

  6. Afin de réduire le nombre de requêtes envoyées aux services AD FS, le proxy d’application Web valide les requêtes ultérieures du client à l’aide de jetons mis en cache tant que le jeton est valide. Le proxy d’application Web nettoie régulièrement le cache. Vous pouvez afficher la taille du cache à l’aide du compteur de performances.

  7. Si le jeton est valide, le proxy d’application Web transfère la demande au serveur principal et l’utilisateur a accès à l’application Web publiée.

La procédure suivante explique comment publier des applications HTTP Basic.

Pour publier une application HTTP Basic

  1. Sur le serveur proxy d’application Web, dans la console Gestion de l’accès à distance, dans le volet Navigation, cliquez sur Proxy d’application Web, puis dans le volet Tâches, cliquez sur Publier.

  2. Dans l’Assistant Publication d’une nouvelle application, dans la page Bienvenue, cliquez sur Suivant.

  3. Sur la page Pré-authentification, cliquez sur Services de fédération Active Directory (AD FS), puis cliquez sur Suivant.

  4. Sur la page Clients pris en charge, sélectionnez HTTP Basic, puis cliquez sur Suivant.

    Si vous souhaitez activer l’accès à Exchange uniquement à partir d’appareils rattachés à l’espace de travail, cochez la case Activer l’accès uniquement pour les appareils rattachés à l’espace de travail. Pour plus d’informations, consultez Rejoindre un espace de travail à partir d’un appareil pour l’authentification unique (SSO) et l’authentification à deux facteurs transparente pour accéder aux applications de l’entreprise.

  5. Dans la page Partie de confiance, dans la liste des parties de confiance, sélectionnez la partie de confiance pour l’application que vous voulez publier, puis cliquez sur Suivant. Cette liste contient uniquement les parties de confiance basées sur les revendications.

  6. Dans la page Paramètres de publication, procédez comme suit et cliquez sur Suivant :

    • Dans la zone Nom, tapez un nom convivial pour l’application.

      Ce nom est utilisé uniquement dans la liste des applications publiées dans la console de gestion de l’accès à distance.

    • Dans la zone URL externe, entrez l’URL externe pour cette application, par exemple mail.contoso.com

    • Dans la liste Certificat externe, sélectionnez un certificat dont l’objet couvre l’URL externe.

    • Dans la zone URL du serveur principal, entrez l’URL du serveur principal. Cette valeur est entrée automatiquement quand vous entrez l’URL externe et vous ne devez la modifier que si l’URL du serveur principal n’est pas la même, par exemple, mail.contoso.com.

  7. Dans la page Confirmation, passez les paramètres en revue, puis cliquez sur Publier. Vous pouvez copier la commande PowerShell pour l’installation d’applications publiées supplémentaires.

  8. Dans la page Résultats, vérifiez que l’application a été correctement publiée, puis cliquez sur Fermer.

Commandes Windows PowerShell équivalentes

L'applet ou les applets de commande Windows PowerShell suivantes remplissent la même fonction que la procédure précédente. Entrez chaque applet de commande sur une seule ligne, même si elles peuvent apparaître comme renvoyées sur plusieurs lignes ici en raison de contraintes de mise en forme.

Ce script Windows PowerShell active la pré-authentification pour tous les appareils, pas seulement pour les appareils rattachés à l’espace de travail.

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

Les éléments suivants pré-authentifient uniquement les appareils rattachés à l’espace de travail :

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

Publier une application qui utilise OAuth2, par exemple une application du Microsoft Store

Pour publier une application pour les applications du Microsoft Store, vous devez ajouter une approbation de partie de confiance pour l’application au service de fédération.

Pour autoriser le proxy d’application Web d’effectuer une authentification unique (SSO) et de déléguer des informations d’identification à l’aide de la délégation contrainte Kerberos, le serveur proxy d’application Web doit être joint à un domaine. Consultez la section Planifier Active Directory.

Notes

Le proxy d’application Web prend en charge la publication uniquement pour les applications du Microsoft Store qui utilisent le protocole OAuth 2.0.

Dans la console de gestion des AD FS, vous devez vous assurer que le point de terminaison OAuth est activé pour le proxy. Pour vérifier si le point de terminaison OAuth est activé pour le proxy, ouvrez la console de gestion AD FS, développez Service, cliquez sur Points de terminaison, dans la liste Points de terminaison, recherchez le point de terminaison OAuth et vérifiez que la valeur dans la colonne Proxy activé est Oui.

Le flux d’authentification pour les clients qui utilisent les applications du Microsoft Store est décrit ci-dessous :

Notes

Le proxy d’application Web redirige vers le serveur des AD FS pour l’authentification. Dans la mesure où les applications du Microsoft Store ne prennent pas en charge les redirections, si vous utilisez des applications du Microsoft Store, il est nécessaire de définir l’URL du serveur des AD FS à l’aide de l’applet de commande Set-WebApplicationProxyConfiguration et du paramètre OAuthAuthenticationURL.

Les applications du Microsoft Store peuvent être publiées uniquement à l’aide de Windows PowerShell.

  1. Le client essaie d’accéder à une application Web publiée à l’aide d’une application du Microsoft Store.

  2. L’application envoie une requête HTTPS à l’URL publiée par le proxy d’application Web.

  3. Le proxy d’application Web retourne une réponse HTTP 401 à l’application contenant l’URL du serveur des services AD FS d’authentification. Ce processus est appelé « découverte ».

    Notes

    Si l’application connaît l’URL du serveur des AD FS d’authentification et dispose déjà d’un jeton combo contenant le jeton OAuth et le jeton edge, les étapes 2 et 3 sont ignorées dans ce flux d’authentification.

  4. L’application envoie une requête HTTPS au serveur des AD FS.

  5. L’application utilise le service broker d’authentification Web pour générer une boîte de dialogue dans laquelle l’utilisateur entre ses informations d’identification pour s’authentifier sur le serveur des AD FS. Pour plus d’informations sur le service Broker d’authentification web, voir Service Broker d’authentification web.

  6. Une fois l’authentification réussie, le serveur des AD FS crée un jeton combo qui contient le jeton OAuth et le jeton edge et envoie le jeton à l’application.

  7. L’application envoie une requête HTTPS contenant le jeton combo à l’URL publiée par le proxy d’application Web.

  8. Le proxy d’application Web divise le jeton combo en deux parties et valide le jeton edge.

  9. Si le jeton edge est valide, le proxy d’application Web transfère la requête au serveur principal avec uniquement le jeton OAuth. L’utilisateur a accès à l’application Web publiée.

Cette procédure décrit comment publier une application pour OAuth2. Ce type d’application peut être publié uniquement à l’aide de Windows PowerShell. Avant de commencer, assurez-vous d’avoir effectué les étapes suivantes :

  • Créé une approbation de partie de confiance pour l’application dans la console de gestion des AD FS.

  • Vérifié que le point de terminaison OAuth est activé pour le proxy dans la console de gestion des AD FS et noté le chemin de l’URL.

  • Vérifié qu’un certificat sur le serveur proxy d’application Web convient à l’application que vous voulez publier.

Pour publier une application OAuth2

  1. Sur le serveur proxy d’application Web, dans la console Gestion de l’accès à distance, dans le volet Navigation, cliquez sur Proxy d’application Web, puis dans le volet Tâches, cliquez sur Publier.

  2. Dans l’Assistant Publication d’une nouvelle application, dans la page Bienvenue, cliquez sur Suivant.

  3. Sur la page Pré-authentification, cliquez sur Services de fédération Active Directory (AD FS), puis cliquez sur Suivant.

  4. Sur la page Clients pris en charge, sélectionnez OAuth2, puis cliquez sur Suivant.

  5. Dans la page Partie de confiance, dans la liste des parties de confiance, sélectionnez la partie de confiance pour l’application que vous voulez publier, puis cliquez sur Suivant.

  6. Dans la page Paramètres de publication, procédez comme suit et cliquez sur Suivant :

    • Dans la zone Nom, tapez un nom convivial pour l’application.

      Ce nom est utilisé uniquement dans la liste des applications publiées dans la console de gestion de l’accès à distance.

    • Dans la zone URL externe, entrez l’URL externe pour cette application, par exemple, https://server1.contoso.com/app1/.

    • Dans la liste Certificat externe, sélectionnez un certificat dont l’objet couvre l’URL externe.

      Pour que vos utilisateurs puissent accéder à votre application, même s’ils omettent HTTPS dans l’URL, cochez la case Activer la redirection HTTP vers HTTPS.

    • Dans la zone URL du serveur principal, entrez l’URL du serveur principal. Cette valeur est entrée automatiquement quand vous entrez l’URL externe et vous ne devez la modifier que si l’URL du serveur principal n’est pas la même ; par exemple, https://sp/app1/.

      Notes

      Le proxy d’application Web peut traduire les noms d’hôte en URL, mais ne peut pas traduire les noms de chemin. C’est pourquoi, vous pouvez entrer différents noms d’hôte, mais vous devez entrer le même nom de chemin. Par exemple, vous pouvez entrer une URL externe de https://apps.contoso.com/app1/ et une URL de serveur principal de https://app-server/app1/. Cependant, vous ne pouvez pas entrer une URL externe de https://apps.contoso.com/app1/ et une URL de serveur principal de https://apps.contoso.com/internal-app1/.

  7. Dans la page Confirmation, passez les paramètres en revue, puis cliquez sur Publier. Vous pouvez copier la commande PowerShell pour l’installation d’applications publiées supplémentaires.

  8. Dans la page Résultats, vérifiez que l’application a été correctement publiée, puis cliquez sur Fermer.

Entrez chaque applet de commande sur une seule ligne, même si elles peuvent apparaître comme renvoyées sur plusieurs lignes ici en raison de contraintes de mise en forme.

Pour définir l’URL d’authentification OAuth pour une adresse de serveur de fédération fs.contoso.com et un chemin d’URL /adfs/oauth2/ :

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

Pour publier l’application :

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