Résolution des problèmes liés au plug-in d’extension Microsoft Enterprise Single Sign-On sur les appareils Apple
Cet article fournit des conseils sur la résolution des problèmes utilisés par les administrateurs pour résoudre les problèmes liés au déploiement et à l’utilisation du plug-in Enterprise Single Sign-On. L’extension Apple SSO peut être installée sur iOS/iPadOS et macOS.
Les organisations peuvent choisir de déployer l’authentification unique (Single Sign On/SSO) sur leurs appareils d’entreprise pour offrir une meilleure expérience à leurs utilisateurs finaux. Sur les plateformes Apple, ce processus implique l’implémentation de l’authentification unique (SSO) via les jetons d’actualisation principaux. SSO dispense les utilisateurs finaux de la contrainte des invites d'authentification excessives.
Microsoft a implémenté un plug-in basé sur l’infrastructure Apple SSO, qui fournit une authentification répartie pour les applications intégrées à Microsoft Entra ID. Pour plus d’informations, consultez l’article Plug-in Microsoft Enterprise Single Sign-On pour les appareils Apple.
Types d’extension
Apple prend en charge deux types d’extensions SSO faisant partie de son infrastructure : Redirection et Informations de connexion. Le plugin Microsoft Enterprise Single Sign-On a été implémenté comme un type de redirection et est le plus approprié pour la répartition d'authentification vers Microsoft Entra ID. Le tableau suivant met en parallèle les deux types d'extensions.
Type d’extension | Idéale pour | Fonctionnement | Différences clés |
---|---|---|---|
Rediriger | Méthodes d’authentification modernes dont OpenID Connect, OAUTH2 et SAML (Microsoft Entra ID) | Le système d’exploitation intercepte la requête d’authentification depuis l’application vers les URL du fournisseur d’identité défini dans le profil de configuration de l’extension GPM. Les extensions de redirection reçoivent : les URL, en-têtes et corps. | Demander des informations d’identification avant les données. Utilise des URL dans le profil de configuration GPM. |
Informations d'identification | Les types d’authentification challenge et réponse tels que Kerberos (Active Directory Domain Services local) | La requête est envoyée de l’application au serveur d’authentification (contrôleur de domaine AD). Les extensions d’informations d’identification sont configurées avec HÔTES dans le profil de configuration GPM. Si le serveur d’authentification retourne un challenge correspondant à un hôte répertorié dans le profil, le système d’exploitation achemine le challenge vers l’extension. L’extension a le choix de gérer ou de rejeter le challenge. Si gérée, l’extension retourne les en-têtes d’autorisation pour finaliser la requête, et le serveur d’authentification retourne une réponse à l’appelant. | Les données de requête sont ensuite testées pour l’authentification. Utilisez des HÔTES dans le profil de configuration GPM. |
Microsoft dispose d’implémentations pour authentification répartie pour les systèmes d’exploitation clients suivants :
Système d''exploitation | Répartiteur d’authentification |
---|---|
Windows | Gestionnaire de comptes Web (WAM) |
iOS/iPadOS | Microsoft Authenticator |
Android | Microsoft Authenticator ou Microsoft Portail d'entreprise Intune |
macOS | Microsoft Portail d'entreprise Intune (via l’extension SSO) |
Toutes les applications de répartiteur Microsoft utilisent un artefact essentiel appelé Jeton d’actualisation principal (Primary Refresh Token/PRT), qui est un JSON Web Token (JWT) utilisé pour obtenir des jetons d’accès pour les applications et les ressources web sécurisées par Microsoft Entra ID. Lorsqu’elle est déployée via un GPM, l’extension SSO de l'entreprise pour macOS ou iOS obtient un PRT similaire aux PRT utilisés sur les appareils Windows par le Gestionnaire de comptes Web (WAM). Pour plus d’informations, consultez l’article Qu’est-ce qu’un jeton d’actualisation principal.
Modèle de résolution des problèmes
Le présent organigramme décrit un processus logique pour la résolution des problèmes liés à l'extension SSO. La suite de cet article détaille les étapes décrites dans cet organigramme. La résolution des problèmes peut être divisée en deux domaines d’intérêt distincts : Déploiement et Flux Auth d’Application.
Étapes pour désactiver l’authentification unique de plateforme (PSSO) sur macOS
Pour refuser une PSSO activée par erreur, les administrateurs doivent supprimer le profil d’extension SSO avec la PSSO activée des appareils et déployer un nouveau profil d’extension SSO avec des indicateurs de PSSO désactivés ou supprimés.
- Supprimer le ciblage du profil d’authentification unique avec l’authentification unique activée
- Lancer la synchronisation de l’appareil pour obtenir le profil d’authentification unique avec l’authentification unique activée pour l’authentification unique activée de l’appareil
- Cibler l’appareil avec un nouveau profil d’authentification unique avec l’authentification unique désactivée
- Lancer la synchronisation de l’appareil pour installer le nouveau profil sur l’appareil
Important
Remarque : la mise à jour du profil d’authentification unique existant sur l’appareil n’aide PAS à désactiver l’authentification unique une fois l’inscription de l’authentification unique terminée. Seule une suppression complète du profil d’authentification unique de l’appareil supprime l’état d’authentification unique de l’appareil.
Contexte :
Les utilisateurs commencent à voir la notification d’inscription de PSSO sur les appareils macOS 13+ dans deux scénarios :
- Si l’appareil dispose déjà de la version du Portail d’entreprise Intune prenant en charge la PSSO et que l’administrateur déploie une nouvelle stratégie d’extension de SSO avec la PSSO activée
- Si l’utilisateur est déjà ciblé par une stratégie d’extension de SSO avec la PSSO activée et qu’ultérieurement, une version du Portail d’entreprise Intune prenant en charge la PSSO est installée sur l’appareil.
Attention
Les administrateurs ne doivent PAS cibler les utilisateurs avec une stratégie d’extension de SSO ayant activé la PSSO, sauf s’ils sont testés et prêts à être déployés, car cela peut potentiellement perturber les utilisateurs existants et leurs conditions de conformité.
Important
Remarque : pour les utilisateurs qui terminent l’inscription de la PSSO, l’inscription WPJ héritée sera supprimée du trousseau. Si l’inscription de la PSSO a été effectuée par erreur, une fois que l’administrateur supprime le profil d’authentification unique avec PSSO et installe un nouveau profil sans PSSO, l’inscription WPJ héritée doit être à nouveau effectuée pour que la conformité de l’appareil fonctionne.
Résolution des problèmes liés au déploiement
La plupart des problèmes rencontrés par les clients proviennent soit d’une configuration incorrecte de la Gestion des périphériques mobiles (GPM) pour l’extension de profil SSO, soit d’une incapacité pour l’appareil Apple à recevoir le profil de configuration de la GPM. Cette section décrit les étapes à suivre pour vous assurer que le profil GPM a été déployé sur un Mac et qu’il dispose de la configuration adéquate.
Conditions requises pour le déploiement
- Système d’exploitation macOS : version 10.15 (Catalina) ou supérieure.
- Système d’exploitation iOS : version 13 ou supérieure.
- L’appareil géré par tout fournisseur GPM prenant en charge Apple macOS et/ou iOS (inscription GPM).
- Logiciel répartiteur d’authentification installé : Microsoft Portail d'entreprise Intune ou Microsoft Authenticator pour iOS.
Vérifiez la version du système d’exploitation macOS
Procédez ainsi pour vérifier la version du système d’exploitation sur l’appareil macOS. Les profils d’extension SSO Apple sont déployés uniquement sur les appareils exécutant macOS 10.15 (Catalina) ou une version ultérieure. Vous pouvez vérifier la version macOS depuis l’interface utilisateur ou le terminal.
Interface utilisateur
Sur l’appareil macOS, sélectionnez l’icône Apple dans le coin supérieur gauche, puis À propos de ce Mac.
La version du système d’exploitation est indiquée près de macOS.
Terminal
À partir de l’appareil macOS, double-cliquez sur le dossier Applications, puis sur le dossier Utilitaires.
Double-cliquez sur l’application Terminal.
À l'ouverture du terminal, entrez sw_vers à l'invite et cherchez un résultat semblable au suivant :
% sw_vers ProductName: macOS ProductVersion: 13.0.1 BuildVersion: 22A400
Vérifiez la version du système d’exploitation iOS
Procédez ainsi pour vérifier la version du système d’exploitation sur l’appareil iOS. Les profils d’extension SSO Apple sont déployés uniquement sur les appareils exécutant iOS 13 ou une version ultérieure. Vous pouvez vérifier la version iOS à partir de l’application Paramètres. Ouvrez l’application Paramètres :
Accédez à Général, puis À propos. Cet écran répertorie des informations sur l’appareil, notamment le numéro de version iOS :
Déploiement GPM du profil de configuration de l’extension SSO
Collaborez avec votre administrateur GPM (ou équipe de gestion des appareils) pour vous assurer du déploiement du profil de configuration de l'extension sur les appareils Apple. Le profil d’extension peut être déployé depuis n’importe quel GPM qui prend en charge les appareils macOS ou iOS.
Important
Apple exige que les appareils soient inscrits dans une GPM pour pouvoir déployer l'extension SSO.
Le tableau suivant fournit des conseils d’installation GPM spécifiques au système d’exploitation sur lequel vous déployez l’extension :
- iOS/iPadOS: déployer le plug-in Microsoft Enterprise Single Sign-On
- macOS: déployer le plug-in Microsoft Enterprise Single Sign-On
Important
Même si toute GPM est prise en charge pour le déploiement de l’extension SSO, de nombreuses organisations définissent des stratégies d’accès conditionnel liées aux appareils afin d’évaluer les stratégies de conformité de la GPM. Si un GPM tiers est utilisé, assurez-vous que le fournisseur de GPM prend en charge la conformité des partenaires Intune pour pouvoir utiliser des politiques d'accès conditionnel liées aux appareils. Lorsque l’extension SSO est déployée via Intune ou un fournisseur GPM prenant en charge la conformité des partenaires Intune, l’extension peut transmettre le certificat de l’appareil à Microsoft Entra ID pour pouvoir effectuer son authentification.
Valider la configuration de mise en réseau sur un appareil macOS
L’infrastructure de l’extension SSO d’Apple et de l’extension Microsoft Enterprise Single Sign-On intégrée nécessitent que certains domaines soient exemptés de l’interception/inspection TLS (également appelée interruption et inspection du proxy). Les domaines suivants ne doivent pas être soumis à l’inspection TLS :
- app-site-association.cdn-apple.com
- app-site-association.networking.apple
Vérifiez si la configuration SSO est interrompue en raison de l’inspection TLS
Vous pouvez vérifier si l’inspection TLS a un impact sur votre configuration SSO en exécutant un sysdiagnose depuis l’application Terminal sur un appareil impacté :
sudo sysdiagnose -f ~/Desktop/
Le sysdiagnose sera enregistré sur votre bureau sous la forme d’une archive .tar.gz. Extrayez l’archive et ouvrez le fichier system_logs.logarchive. Cela s’ouvre dans l’application Console. Recherchez com.apple.appsso et remplacez le filtre par SOUS-SYSTÈME:
Recherchez les évènements indiquant qu’il existe des échecs de domaine associés, en particulier liés aux domaines Microsoft, comme login.microsoftonline.com. Ces évènements peuvent indiquer des problèmes d’inspection TLS, ce qui empêchera l’extension SSO de fonctionner correctement. Les domaines Apple n’apparaissent pas dans le journal sysdiagnose, même s’ils sont affectés par une configuration d’inspection TLS non prise en charge.
Valider la configuration d’inspection TLS
Apple fournit un outil macOS pour vérifier un certain nombre de problèmes de configuration courants appelé Utilitaire d’évaluation Mac. Cet outil peut être téléchargé depuis AppleSeed pour l’informatique. Si vous avez accès à AppleSeed pour l’informatique, téléchargez l’Utilitaire d’évaluation Mac depuis la zone Ressources. Après avoir installé l’application, exécutez une évaluation. Une fois l’évaluation terminée, accédez à HTTPS Interception -->Contenu supplémentaire --> et vérifiez les deux éléments ci-dessous :
Si ces vérifications retournent un avertissement ou une erreur, il peut y avoir une inspection TLS en cours sur l’appareil. Collaborez avec votre équipe réseau pour exempter *.cdn-apple.com et *.networking.apple de l’inspection TLS.
Sortie des journaux détaillés swcd
Apple fournit un utilitaire de ligne de commande appelé swcutil
qui permet de surveiller la progression de la validation de domaine associée. Vous pouvez surveiller les erreurs de domaine associées à l’aide de la commande suivante :
sudo swcutil watch --verbose
Recherchez l’entrée suivante dans les journaux d’activité et case activée si elle est marquée comme approuvée ou s’il existe des erreurs :
```
Entry s = authsrv, a = UBF8T346G9.com.microsoft.CompanyPortalMac, d = login.microsoftonline.com
```
Effacer le cache de l’inspection TLS macOS
Si vous rencontrez des problèmes avec les domaines associés et que les domaines répertoriés dans votre outil d’inspection TLS sur appareil peuvent prendre un certain temps pour que le cache de validation de domaine associé d’Apple soit invalidé. Malheureusement, il n’existe aucune étape déterministe qui re-déclenche une nouvelle validation de domaine associée sur tous les ordinateurs, mais il existe quelques opérations qui peuvent être tentées.
Vous pouvez exécuter les commandes suivantes pour réinitialiser le cache de l’appareil :
pkill -9 swcd
sudo swcutil reset
pkill -9 AppSSOAgent
Retestez la configuration de l’extension SSO après avoir réinitialisé le cache.
Parfois, cette commande est insuffisante et ne réinitialise pas complètement le cache. Dans ce cas, vous pouvez procéder comme suit :
- Supprimez ou déplacez l’application Portail d’entreprise Intune vers la Corbeille, puis redémarrez votre appareil. Une fois le redémarrage terminé, vous pouvez essayer de réinstaller l’application Portail d’entreprise.
- Inscrivez à nouveau votre appareil.
Si aucune des méthodes ci-dessus ne résout votre problème, il peut y avoir autre chose dans votre environnement susceptible de bloquer la validation de domaine associée. Si cela se produit, contactez le support Apple pour une résolution des problèmes plus poussée.
Valider le profil de configuration SSO sur un appareil macOS
En supposant que l’administrateur GPM a suivi les étapes de la section précédente Déploiement GPM du profil d’extension SSO, l'étape suivante vise à vérifier le déploiement effectif du profil sur l'appareil.
Rechercher le profil de configuration GPM de l’extension SSO
À partir de l’appareil macOS, sélectionnez Paramètres système.
Lorsque Paramètres système s’affiche, tapez Profils et appuyez sur Retour.
Cette action devrait faire apparaître le panneau Profils.
Légende de la capture d’écran Description 1 Indique que l’appareil est sous gestion GPM. 2 Il pourrait y avoir plusieurs profils au choix. Dans cet exemple, le profil d’extension Microsoft Enterprise Single Sign-On est appelé Profil SSO extensible-32f37be3-302e-4549-a3e3-854d300e117a. Notes
Selon le type de GPM utilisé, plusieurs profils peuvent être répertoriés et leur nomenclature est arbitraire en fonction de la configuration du GPM. Sélectionnez chacune d’elles et vérifiez que la ligne Paramètres précise qu’il s’agit d’une extension SSO.
Double-cliquez sur le profil de configuration correspondant à la valeur Paramètres de l’extension SSO.
Légende de la capture d’écran Paramètre du profil de configuration Description 1 Signé Pouvoir de signature du fournisseur GPM. 2 Installé Date et horodatage indiquant la date d'installation (ou mise à jour) de l'extension. 3 Paramètres : Extension SSO Indique que ce profil de configuration est un type d’extension SSO Apple. 4 Extension L'identificateur qui renvoie à l'ID d’offre groupée de l'application exécutant le plug-in de l'extension Microsoft Enterprise. L’identificateur doit toujours être défini sur com.microsoft.CompanyPortalMac.ssoextension
et l’identificateur d’équipe doit apparaître comme (UBF8T346G9) si le profil est installé sur un appareil macOS. Si les valeurs diffèrent, le GPM n’appelle pas correctement l’extension.5 Type L’extension Microsoft Enterprise Single Sign-On doit toujours être définie sur un type d’extension de redirection. Pour plus d’informations, voir Types d’extension de redirection et d’informations d’identification. 6 URLs Les URL de connexion propres au fournisseur d’identité (Microsoft Entra ID). Voir la liste des URL prises en charge. Toutes les extensions de redirection Apple SSO doivent avoir les composants de charge utile GPM suivants dans le profil de configuration :
Composant de charge utile GPM Description Identificateur d'extension Inclut à la fois l’identificateur d’offre groupée et l’identificateur d’équipe de l’application sur l’appareil macOS, exécutant l’extension. Remarque : L’extension Microsoft Enterprise Single Sign-On doit toujours être définie sur com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9) pour informer le système d'exploitation macOS de la présence du code client de l'extension dans l’application Portail d'entreprise Intune. Type Doit être défini sur Redirection pour indiquer un type d’extension de redirection. URLs Les URL de point de terminaison du fournisseur d’identité (Microsoft Entra ID), où le système d'exploitation transmet les requêtes d'authentification à l'extension. Configuration facultative propre à l’extension Valeurs de dictionnaire qui peuvent servir de paramètres de configuration. Dans le contexte de l’extension Microsoft Enterprise Single Sign-On, ces paramètres de configuration sont appelés indicateurs de fonctionnalité. Consultez Définitions des indicateurs de fonctionnalité. Notes
Les définitions GPM pour le profil d’extension Apple SSO peuvent être référencées dans l’article Paramètres de charge utile GPM SSO extensible pour les appareils Apple Microsoft a intégré notre extension selon ce schéma. Voir Plug-in Microsoft Enterprise Single Sign-On pour les appareils Apple
Pour s'assurer que le bon profil de l'extension Microsoft Enterprise Single Sign-On est installé, le champ Extension doit contenir : com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9).
Relevez le champ Installé dans le profil de configuration, car il peut être un indicateur utile de résolution des problèmes, lorsque des modifications sont apportées à sa configuration.
Si le bon profil de configuration a été vérifié, passez à la section Résolution des problèmes de flux d’authentification de l’application.
Le profil de configuration GPM est absent
Si le profil de configuration de l'extension SSO n'apparaît pas dans la liste des Profils après avoir appliqué la section précédente, il se peut que le ciblage utilisateurs / appareils soit activé dans la configuration GPM, empêchant ainsi l'utilisateur ou l'appareil de recevoir le profil de configuration. Vérifiez auprès de votre administrateur GPM et rassemblez les journaux de la Console trouvés dans la section suivante.
Rassembler les journaux spécifiques de la console GPM
À partir de l’appareil macOS, double-cliquez sur le dossier Applications, puis sur le dossier Utilitaires.
Double-cliquez sur l’application Console.
Cliquez sur le bouton Démarrer pour activer l’enregistrement des traces de la console.
Demandez à l'administrateur MDM de tenter le redéploiement du profil de configuration sur cet appareil/utilisateur macOS et de forcer un cycle de synchronisation.
Tapez subsystem:com.apple.ManagedClient dans la barre de recherche, puis appuyez sur retour.
À l'endroit où le curseur clignote dans la barre de recherche, tapez message:Extensible.
Vous devriez maintenant voir les journaux de la console GPM filtrés sur les activités de profil de configuration SSO extensible. La capture d’écran suivante montre une entrée du journal Profil de configuration installé, montrant que le profil de configuration a été installé.
Résolution des problèmes liés au flux d’authentification d’application
Les instructions de cette section supposent que l’appareil macOS dispose d’un profil de configuration correctement déployé. Voir Valider le profil de configuration SSO sur un appareil macOS pour les étapes.
Une fois déployée, l’extension Microsoft Enterprise Single Sign-On pour les appareils Apple prend en charge deux types de flux d’authentification d’application pour chaque type d’application. Pendant la résolution des problèmes, il est important de comprendre le type d’application utilisé.
Types d’applications
Type d'application | Authentification interactive | Authentification silencieuse | Description | Exemples |
---|---|---|---|---|
Application MSAL native | X | X | MSAL (Microsoft Authentication Library) est une infrastructure de développement d'applications adapté à la génération d'applications utilisant la plateforme d'identités Microsoft (Microsoft Entra ID). Les applications développées sur MSAL version 1.1 ou ultérieure peuvent intégrer l'extension Microsoft Enterprise Single Sign-On. Si l’application est une extension SSO (répartiteur), sachant qu’elle utilise l’extension sans aucune autre configuration, pour plus d’informations, consultez notre exemple de documentation pour les développeurs MSAL. |
Microsoft To-Do |
SSO non-MSAL native/navigateur | X | Les applications utilisant des technologies de mise en réseau ou de vues Web Apple peuvent être configurées pour obtenir des informations d’identification partagées depuis l’extension SSO Les indicateurs de fonctionnalité doivent être configurés pour garantir que l’ID d’offre groupée de chaque application est autorisé à obtenir les informations d’identification partagées (PRT). |
Microsoft Word Safari Microsoft Edge Visual Studio |
Important
Toutes les applications natives Microsoft n’utilisent pas l’infrastructure MSAL. Au moment de la publication de cet article, la plupart des applications Microsoft Office macOS utilisent encore l'ancienne plateforme de bibliothèque ADAL et reposent donc sur le flux SSO du navigateur.
Comment trouver l’ID d’offre groupée d’une application sur macOS
À partir de l’appareil macOS, double-cliquez sur le dossier Applications, puis sur le dossier Utilitaires.
Double-cliquez sur l’application Terminal.
Lorsque le terminal s’ouvre, tapez
osascript -e 'id of app "<appname>"'
dans l’invite. En voici quelques exemples :% osascript -e 'id of app "Safari"' com.apple.Safari % osascript -e 'id of app "OneDrive"' com.microsoft.OneDrive % osascript -e 'id of app "Microsoft Edge"' com.microsoft.edgemac
Maintenant que les ID d’offre groupée ont été obtenus, suivez nos instructions pour configurer les indicateurs de fonctionnalité afin de vous assurer que les applications SSO natives/navigateur non-MSAL puissent utiliser l’extension SSO. Remarque : tous les ID d’offre groupée sont sensibles à la casse pour la configuration de l’indicateur de fonctionnalité.
Attention
Les applications n’utilisant pas les technologies de mise en réseau Apple (dont WKWebview et NSURLSession) ne pourront pas recourir aux informations d’identification partagées (PRT) depuis l’extension SSO. Google Chrome et Mozilla Firefox sont de cette catégorie. Même s’ils sont configurés dans le profil de configuration GPM, le résultat est une invite d’authentification normale dans le navigateur.
Amorçage
Par défaut, seules les applications MSAL appellent l’extension SSO, puis l’extension acquiert à son tour des informations d’identification partagées (PRT) auprès de Microsoft Entra ID. Toutefois, le navigateur Safari ou toute autre application non-MSAL peut être configuré pour acquérir le PRT. Consultez Autoriser les utilisateurs à se connecter à partir d’applications qui n’utilisent pas MSAL et le navigateur Safari. Une fois que l’extension SSO a acquis un PRT, elle stocke les informations d’identification dans le trousseau de connexion utilisateur. Ensuite, vérifiez la présence du PRT dans le trousseau de l’utilisateur :
Vérification du trousseau d’accès pour PRT
À partir de l’appareil macOS, double-cliquez sur le dossier Applications, puis sur le dossier Utilitaires.
Double-cliquez sur l’application Accès au trousseau.
Sous Trousseaux par défaut, choisissez Éléments locaux (ou iCloud).
- Vérifiez que l’option Tous les éléments est sélectionnée.
- Dans la barre de recherche, sur le côté droit, saisissez
primaryrefresh
(Pour filtrer).
Légende de la capture d’écran Composant trousseau d’informations d’identification Description 1 Tous les éléments Affiche tous les types d’informations d’identification dans le trousseau d’accès 2 Barre de recherche du trousseau Autorise le filtrage en fonction des informations d’identification. Pour filtrer le type de PRT Microsoft Entra, entrez primaryrefresh
3 Type Renvoie au type d’informations d’identification. Les informations d’identification du PRT Microsoft Entra sont un type d’informations d’identification Mot de passe d’application 4 Compte Affiche le compte d’utilisateur Microsoft Entra qui possède le PRT au format UserObjectId.TenantId-login.windows.net
5 Where Affiche le nom complet de l'information d'identification. Les informations d’identification du PRT Microsoft Entra commencent par le format suivant : primaryrefreshtoken-29d9ed98-a469-4536-ade2-f981bc1d605
29d9ed98-a469-4536-ade2-f981bc1d605 est l’ID de l’application du service Microsoft Authentication Broker, responsable de la gestion des requêtes d’acquisition PRT6 Modifié le Affiche la date de la dernière mise à jour des informations d’identification. Concernant les informations d’identification du PRT Microsoft Entra, chaque fois que les informations d’identification sont démarrées ou mises à jour par un événement d’authentification interactive, la date ou le timestamp sont mis à jour 7 Trousseau Indique le trousseau où sont enregistrées les informations d’identification sélectionnées. Les informations d’identification du PRT Microsoft Entra sont enregistrées dans les Éléments locaux ou dans le trousseau iCloud. Quand iCloud est activé sur l’appareil macOS, le trousseau Éléments locaux se transforme en trousseau iCloud Si le PRT est introuvable dans le trousseau d’accès, procédez comme suit en fonction du type d’application :
- MSAL natif : vérifiez que le développeur de l’application, si l'application a été conçue avec MSAL version 1.1 ou ultérieure, a permis à l’application de prendre en compte le répartiteur. Consultez également les étapes de résolution des problèmes de déploiement pour exclure tout problème de déploiement.
- Non-MSAL (Safari) : vérifiez que l’indicateur de fonctionnalité
browser_sso_interaction_enabled
est défini sur 1 et non sur 0 dans le profil de configuration GPM
Flux d’authentification après démarrage d’un PRT
Maintenant que le PRT (informations d’identification partagées) a été vérifié, avant d’effectuer un dépannage plus approfondi, il est utile de comprendre les étapes générales pour chaque type d’application et comment il interagit avec le plug-in d’extension Microsoft Enterprise Single Sign-On (répartiteur d’application). Les animations et descriptions suivantes devraient aider les administrateurs macOS à comprendre le scénario avant d’examiner les données de journalisation.
Application MSAL native
Scénario : une application développée pour utiliser MSAL (exemple : client Microsoft To Do), qui s’exécute sur un appareil Apple, doit connecter l’utilisateur à son compte Microsoft Entra afin d’accéder à un service protégé Microsoft Entra (exemple : Service Microsoft To Do).
- Les applications développées avec MSAL appellent directement l’extension SSO et envoient le PRT au point de terminaison de jeton Microsoft Entra, ainsi que la requête de jeton de l’application pour une ressource protégée par Microsoft Entra
- Microsoft Entra ID valide les informations d’identification du PRT et retourne un jeton spécifique à l’application au répartiteur de l’extension SSO
- Le répartiteur de l’extension SSO transmet ensuite le jeton à l’application cliente MSAL, qui l’envoie ensuite à la ressource protégée par Microsoft Entra
- L’utilisateur est maintenant connecté à l’application et le processus d’authentification s’achève
SSO non-MSAL/Navigateur
Scénario : un utilisateur sur un appareil Apple ouvre le navigateur web Safari (ou toute application native non-MSAL qui prend en charge Apple Networking Stack) pour se connecter à une ressource protégée par Microsoft Entra (exemple : https://office.com
).
- En utilisant une application non-MSAL (exemple : Safari), l’utilisateur essaie de se connecter à une application intégrée Microsoft Entra (exemple : office.com) et est redirigé pour obtenir un jeton de Microsoft Entra ID
- Tant que l’application non-MSAL est autorisée dans la configuration de charge utile GPM, l’empilement réseau Apple intercepte la requête d’authentification et redirige la requête vers le répartiteur de l’extension SSO
- Une fois la requête reçue par l’extension SSO, le PRT est envoyé au point de terminaison de jeton Microsoft Entra
- Microsoft Entra ID valide le PRT et retourne un jeton spécifique à l’application vers l’extension SSO
- Le jeton spécifique à l’application est transmis à l’application cliente non-MSAL, et l’application cliente envoie le jeton pour accéder au service protégé par Microsoft Entra
- L'utilisateur a maintenant terminé l'ouverture de session et le processus d'authentification est clos
Obtention des enregistrements de l’extension SSO
L’un des outils les plus utiles pour résoudre divers problèmes liés à l’extension SSO concerne les journaux du client depuis l’appareil Apple.
Enregistrer les journaux de l’extension SSO depuis l’application Portail d'entreprise
À partir de l’appareil macOS, double-cliquez sur le dossier Applications.
Double-cliquez sur l’application Portail d'entreprise.
Lorsque le Portail d'entreprise est chargé, accédez à la barre de menus supérieure : Aide- puis Enregistrer le rapport de diagnostic. Il n’est pas nécessaire de se connecter à l’application.
Enregistrez l’archive du journal du Portail d'entreprise à l’emplacement de votre choix (par exemple : Bureau).
Ouvrez l’archive CompanyPortal.zip et ouvrez le fichier SSOExtension.log avec n’importe quel éditeur de texte.
Conseil
Un moyen pratique de visualiser les journaux est d'utiliser Visual Studio Code avec l’extension Log Viewer installée.
Traitement des journaux de l'extension SSO sur macOS avec le terminal
Pendant la résolution des problèmes, il peut être utile de reproduire un problème pendant le suivi des journaux SSOExtension en temps réel :
À partir de l’appareil macOS, double-cliquez sur le dossier Applications, puis sur le dossier Utilitaires.
Double-cliquez sur l’application Terminal.
Lorsque le terminal s’ouvre, saisissez :
tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/*
Notes
La mention /* à la fin indique que plusieurs journaux seront traités s'il en existe
% tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/* ==> /Users/<username>/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/SSOExtension 2022-12-25--13-11-52-855.log <== 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Handling SSO request, requested operation: 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Ignoring this SSO request... 2022-12-29 14:49:59:282 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Finished SSO request. 2022-12-29 14:49:59:599 | I | Beginning authorization request 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_interaction_enabled, value in config 1, value type __NSCFNumber 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Feature flag browser_sso_interaction_enabled is enabled 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_disable_mfa, value in config (null), value type (null) 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag disable_browser_sso_intercept_all, value in config (null), value type (null) 2022-12-29 14:49:59:600 | I | Request does not need UI 2022-12-29 14:49:59:600 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag admin_debug_mode_enabled, value in config (null), value type (null)
Lorsque vous reproduisez le problème, laissez la fenêtre du Terminal ouverte pour observer la sortie des journaux de l’Extension SSO.
Exportation des journaux d’extension SSO sur iOS
Il n’est pas possible d’afficher les journaux de l’extension iOS SSO en temps réel comme sur macOS. Les journaux d’extension iOS SSO peuvent être exportés à partir de l’application Microsoft Authenticator, puis examinés à partir d’un autre appareil :
Ouvrez l’application Microsoft Authenticator :
Appuyez sur le bouton de menu dans le coin supérieur gauche :
Choisissez l’option « Envoyer des commentaires » :
Choisissez l’option « Vous rencontrez des problèmes ? » :
Appuyez sur l’option « Afficher les données de diagnostic » :
Conseil
Si vous utilisez Support Microsoft, à ce stade, vous pouvez appuyer sur le bouton Envoyer pour envoyer les journaux au support technique. Cela vous fournira un ID d’incident, que vous pouvez transmettre à votre contact du support Microsoft.
Appuyez sur le bouton « Tout copier » pour copier les journaux dans le Presse-papiers de votre appareil iOS. Vous pouvez ensuite enregistrer les fichiers journaux ailleurs pour révision ou les envoyer par e-mail ou par d’autres méthodes de partage de fichiers :
Compréhension des journaux de l’extension SSO
L’analyse des journaux de l’extension SSO est un excellent moyen de résoudre les problèmes liés au flux d’authentification des applications envoyant des requêtes d’authentification à Microsoft Entra ID. Chaque fois que le répartiteur de l’extension SSO est requis, une série d’activités de journalisation en résulte et elles sont appelées Requêtes d’autorisation. Les journaux contiennent les informations suivantes utiles pour la résolution des problèmes :
- Configuration de l’indicateur de fonctionnalité
- Types de requête d’autorisation
- MSAL native
- SSO non-MSAL/Navigateur
- Interaction avec le trousseau macOS pour les opérations de récupération/stockage des informations d’identification
- ID de corrélation pour les évènements de connexion Microsoft Entra
- Acquisition de PRT
- Inscription des appareils
Attention
Les journaux de l’extension SSO sont extrêmement détaillés, en particulier lorsque vous examinez les opérations d’informations d’identification du trousseau. C'est pourquoi il est toujours préférable de comprendre le scénario avant d’examiner les journaux pendant la résolution des problèmes.
Structure journal
Les journaux de l’extension SSO sont répartis en colonnes. La capture d’écran suivante montre la répartition en colonnes des journaux :
Colonne | Nom de la colonne | Description |
---|---|---|
1 | Date/heure locale | Les date et heure locales affichées |
2 | I-Information A-avertissement E-Erreur |
Affiche les informations, les avertissements ou les erreurs |
3 | ID de conversation (TID) | Affiche l’ID de conversation de l’exécution de l’application répartitrice de l’extension SSO |
4 | Numéro de version MSAL | Le plug-in répartiteur de l’extension Microsoft Enterprise Single Sign-On est généré comme application MSAL. Cette colonne indique la version de MSAL exécutée par l’application répartitrice |
5 | Version macOS | Affiche la version prise du système d’exploitation macOS |
6 | Date/Heure UTC | Les date et heure UTC affichées |
7 | ID de corrélation : | Les lignes des journaux qui concernent Microsoft Entra ID ou les opérations de trousseau étendent la colonne Date/Heure UTC avec un ID de corrélation |
8 | Message | Affiche la messagerie détaillée des journaux. Vous trouverez la plupart des informations sur la résolution des problèmes en examinant cette colonne |
Configuration de l’indicateur de fonctionnalité
Pendant la configuration GPM de l’extension Microsoft Enterprise Single Sign-On, des données facultatives spécifiques à l’extension peuvent être envoyées comme instructions pour modifier le comportement de l’extension SSO. Ces instructions spécifiques à la configuration sont appelées indicateurs de fonctionnalité. La configuration de l’indicateur de fonctionnalité est particulièrement importante pour les types de requêtes d’authentification SSO non-MSAL/Navigateur, car l’ID d’offre groupée peut déterminer si l’extension est appelée ou pas. Voir Documentation sur l’indicateur de fonctionnalité. Chaque requête d’autorisation commence par un rapport de configuration de l’indicateur de fonctionnalité. La capture d’écran suivante présente un exemple de configuration de l’indicateur de fonctionnalité :
Légende | Indicateur de fonctionnalité | Description |
---|---|---|
1 | browser_sso_interaction_enabled | Un navigateur non-MSAL ou Safari est capable de démarrer un PRT |
2 | browser_sso_disable_mfa | (Maintenant déconseillé) L’authentification multifacteur est requise par défaut lors du démarrage des informations d’identification PRT. Notez que cette configuration est définie sur null, ce qui implique une utilisation de la configuration par défaut |
3 | disable_explicit_app_prompt | Remplace les requêtes d'authentification prompt=login des applications pour réduire les messages de l'invite |
4 | AppPrefixAllowList | Toute application non-MSAL ayant un ID d’offre groupée commençant par com.micorosoft. peut être interceptée et traitée par le répartiteur de l'extension SSO |
Important
La définition des indicateurs de fonctionnalité sur null indique que leur configuration par défaut est effective. Pour plus d’informations, consultez la documentation sur l’indicateur de fonctionnalité
Flux de connexion d’application MSAL native
La section suivante explique comment examiner les journaux de l’extension SSO pour le flux d’authentification de l’application MSAL native. Pour cet exemple, nous utilisons l’application exemple MSAL macOS/iOS comme application cliente, et l'application fait appel à l'API Microsoft Graph pour afficher les informations de connexion de l'utilisateur.
MSAL native : procédure étape par étape du flux interactif
Les actions suivantes doivent être effectuées pour une connexion interactive réussie :
- L’utilisateur se connecte à l’application exemple MSAL macOS.
- Le répartiteur de l’extension Microsoft SSO est appelé et gère la requête.
- Le répartiteur de l’extension Microsoft SSO subit le processus de démarrage pour acquérir un PRT pour l’utilisateur connecté.
- Stocke le PRT dans le trousseau.
- Vérifiez la présence d’un objet Device Registration dans Microsoft Entra ID (WPJ).
- Retourne un jeton d’accès à l’application cliente pour accéder à Microsoft Graph avec une portée User.Read.
Important
Les échantillons d’extraits du journal suivants ont été indiqués avec des en-têtes de commentaire // invisibles dans les journaux. Ils servent à illustrer une action spécifique entreprise. Nous avons documenté les extraits du journal de cette façon pour faciliter les opérations de copier et coller. Les exemples du journal ont par ailleurs été réduits afin de ne montrer que les lignes significatives pour la résolution des problèmes.
L’utilisateur clique sur le bouton Appeler l’API Microsoft Graph pour appeler le processus d'ouverture de session.
//////////////////////////
//get_accounts_operation//
//////////////////////////
Handling SSO request, requested operation: get_accounts_operation
(Default accessor) Get accounts.
(MSIDAccountCredentialCache) retrieving cached credentials using credential query
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 00001111-aaaa-2222-bbbb-3333cccc4444, scopes (null)
(Default accessor) No accounts found in default accessor.
(Default accessor) No accounts found in other accessors.
Completed get accounts SSO request with a personal device mode.
Request complete
Request needs UI
ADB 3.1.40 -[ADBrokerAccountManager allBrokerAccounts:]
ADB 3.1.40 -[ADBrokerAccountManager allMSIDBrokerAccounts:]
(Default accessor) Get accounts.
No existing accounts found, showing webview
/////////
//login//
/////////
Handling SSO request, requested operation: login
Handling interactive SSO request...
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/common";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
prompt = "select_account";
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
}
////////////////////////////////////////////////////////////
//Request PRT from Microsoft Authentication Broker Service//
////////////////////////////////////////////////////////////
Using request handler <ADInteractiveDevicelessPRTBrokerRequestHandler: 0x117ea50b0>
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 11112222-bbbb-3333-cccc-4444dddd5555, scopes (null)
Attempting to get Deviceless Primary Refresh Token interactively.
Caching AAD Environements
networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
Resolved authority, validated: YES, error: 0
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Start webview authorization session with webview controller class MSIDAADOAuthEmbeddedWebviewController:
[MSAL] Presenting web view controller.
L’exemple de journalisation peut être scindé en trois segments :
Segment | Description |
---|---|
get_accounts_operation |
Vérifie l'existence de comptes dans le cache - ClientID : ID d’application inscrit dans Microsoft Entra ID pour cette application MSAL ADB 3.1.40 indique cette version du plug-in du répartiteur de l’extension Microsoft Enterprise Single Sign-On |
login |
Le répartiteur gère la requête pour Microsoft Entra ID : - Gestion d’une requête SSO interactive... : désigne une requête interactive - correlation_id : utile pour le recoupement avec les journaux de connexion côté serveur Microsoft Entra - scope : User.Read l'étendue de la permission API requise à Microsoft Graph - client_version : version de MSAL exécutée par l’application - redirect_uri : les applications MSAL utilisent le format msauth.com.<Bundle ID>://auth |
Requête PRT | Le processus de démarrage pour acquérir un PRT de manière interactive a été lancé et restitue la session SSO vue Web Service Broker d’authentification Microsoft - clientId : 29d9ed98-a469-4536-ade2-f981bc1d605e - Toutes les requêtes PRT sont envoyées au Service Broker d’authentification Microsoft |
Le contrôleur SSO vue web s’affiche et l’utilisateur est invité à entrer son identifiant Microsoft Entra (UPN/email)
Notes
En cliquant sur le i dans le coin inférieur gauche du contrôleur vue Web, vous obtenez davantage d’informations sur l’extension SSO et les spécificités de l’application qui l’a sollicitée.
Une fois que l’utilisateur a correctement entré ses informations d’identification Microsoft Entra, les entrées de journal suivantes sont écrites dans les journaux d’activité de l’extension SSO
SSOExtensionLogs
///////////////
//Acquire PRT//
///////////////
[MSAL] -completeWebAuthWithURL: msauth://microsoft.aad.brokerplugin/?code=(not-null)&client_info=(not-null)&state=(not-null)&session_state=(not-null)
[MSAL] Dismissed web view controller.
[MSAL] Result from authorization session callbackURL host: microsoft.aad.brokerplugin , has error: NO
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId 29d9ed98-a469-4536-ade2-f981bc1d605e, scopes (null)
Saving PRT response in cache since no other PRT was found
[MSAL] Saving keychain item, item info Masked(not-null)
[MSAL] Keychain find status: 0
Acquired PRT.
///////////////////////////////////////////////////////////////////////
//Discover if there is an Azure AD Device Registration (WPJ) present //
//and if so re-acquire a PRT and associate with Device ID //
///////////////////////////////////////////////////////////////////////
WPJ Discovery: do discovery in environment 0
Attempt WPJ discovery using tenantId.
WPJ discovery succeeded.
Using cloud authority from WPJ discovery: https://login.microsoftonline.com/common
ADBrokerDiscoveryAction completed. Continuing Broker Flow.
PRT needs upgrade as device registration state has changed. Device is joined 1, prt is joined 0
Beginning ADBrokerAcquirePRTInteractivelyAction
Attempting to get Primary Refresh Token interactively.
Acquiring broker tokens for broker client id.
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Enrollment id read from intune cache : (null).
Handle silent PRT response Masked(not-null), error Masked(null)
Acquired broker tokens.
Acquiring PRT.
Acquiring PRT using broker refresh token.
Requesting PRT from authority https://login.microsoftonline.com/<TenantID>/oauth2/v2.0/token
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId (null), scopes (null)
[MSAL] Acquired PRT successfully!
Acquired PRT.
ADBrokerAcquirePRTInteractivelyAction completed. Continuing Broker Flow.
Beginning ADBrokerAcquireTokenWithPRTAction
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Handle silent PRT response Masked(not-null), error Masked(null)
//////////////////////////////////////////////////////////////////////////
//Provide Access Token received from Azure AD back to Client Application//
//and complete authorization request //
//////////////////////////////////////////////////////////////////////////
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm TenantID, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed interactive SSO request.
Completed interactive SSO request.
Request complete
Completing SSO request...
Finished SSO request.
À ce stade, dans le flux d’authentification/autorisation, le PRT a été démarré et doit être visible dans le trousseau d’accès macOS. Voir Vérification du trousseau d’accès pour PRT. L’application exemple macOS MSAL utilise le jeton d’accès reçu du répartiteur de l’extension Microsoft SSO pour afficher les informations de l’utilisateur.
Ensuite, examinez les journaux de connexion Microsoft Entra côté serveur en fonction de l’ID de corrélation obtenu des journaux de l’extension SSO côté client. Pour plus d’informations, consultez Journaux de connexion dans Microsoft Entra ID.
Afficher les journaux de connexion Microsoft Entra par filtre ID de corrélation
- Ouvre les connexions Microsoft Entra pour le tenant où l’application est inscrite.
- Sélectionnez Connexions utilisateur (interactives).
- Sélectionnez la case Ajouter des filtres, puis l’option ID de corrélation.
- Copiez et collez l’ID de corrélation obtenu à partir des journaux de l’extension SSO, puis sélectionnez Appliquer.
Pour le flux de connexion interactif MSAL, nous nous attendons à voir une connexion interactive pour la ressource service Broker d’authentification Microsoft . C'est lors de cet événement que l’utilisateur a saisi son mot de passe pour démarrer le PRT.
Il y a également des événements de connexion non interactifs, car le PRT est utilisé pour acquérir le jeton d'accès pour la requête de l'application cliente. Suivez Afficher les journaux de connexion Microsoft Entra par filtre ID de corrélation, mais, à l’étape 2, sélectionnez Connexions utilisateur (non interactives).
Attribut du journal de connexion | Description |
---|---|
Application | Nom d’affichage de l’inscription de l’application dans le tenant Microsoft Entra où l’application cliente s’authentifie. |
ID d’application | Également dénommé ClientID de l'inscription d’application dans le tenant Microsoft Entra. |
Ressource | La ressource d’API à laquelle l’application cliente tente d’accéder. Dans cet exemple, la ressource est l’API Microsoft Graph. |
Type de jeton entrant | Un type de jeton entrant de jeton d’actualisation principal (PRT) indique le jeton d’entrée utilisé pour obtenir un jeton d’accès à la ressource. |
agent utilisateur | La chaîne de l’agent utilisateur dans cet exemple montre que l’extension Microsoft SSO est l’application qui exécute cette requête. Un bon indicateur que l’extension SSO est utilisée et que la requête d’authentification du répartiteur est en cours. |
Bibliothèque d’authentification d’application Microsoft Entra | Lorsqu'une application MSAL est utilisée, les détails de la bibliothèque et de la plateforme sont consignés ici. |
Information sur l’étendue Oauth | L’information sur l’étendue Oauth2 requise pour le jeton d’accès. (User.Read,profile,openid,email). |
MSAL Native : procédure étape par étape de flux silencieux
Le jeton d'accès ne sera plus valable après une période donnée. Ainsi, si l’utilisateur clique à nouveau sur le bouton Appeler l’API Microsoft Graph. L’extension SSO essaie d’actualiser le jeton d’accès avec le PRT déjà acquis.
SSOExtensionLogs
/////////////////////////////////////////////////////////////////////////
//refresh operation: Assemble Request based on User information in PRT /
/////////////////////////////////////////////////////////////////////////
Beginning authorization request
Request does not need UI
Handling SSO request, requested operation: refresh
Handling silent SSO request...
Looking account up by home account ID dbb22b2f, displayable ID auth.placeholder-61945244__domainname.com
Account identifier used for request: Masked(not-null), auth.placeholder-61945244__domainname.com
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/<TenantID>";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"home_account_id" = "<UserObjectId>.<TenantID>";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
username = "auth.placeholder-61945244__domainname.com";
}
//////////////////////////////////////////
//Acquire Access Token with PRT silently//
//////////////////////////////////////////
Using request handler <ADSSOSilentBrokerRequestHandler: 0x127226a10>
Executing new request
Beginning ADBrokerAcquireTokenSilentAction
Beginning silent flow.
[MSAL] Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm <TenantID>, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
[MSAL] (MSIDAccountCredentialCache) retrieving cached credentials using credential query
[MSAL] Silent controller with PRT finished with error Masked(null)
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed silent SSO request.
Request complete
Completing SSO request...
Finished SSO request.
L’exemple de journalisation peut être scindé en deux segments :
Segment | Description |
---|---|
refresh |
Le répartiteur gère la requête pour Microsoft Entra ID : - Gestion de la requête SSO en mode silencieux... : désigne une demande silencieuse - correlation_id : utile pour le recoupement avec les journaux de connexion côté serveur Microsoft Entra - scope : User.Read l'étendue de la permission API requise à Microsoft Graph - client_version : version de MSAL exécutée par l’application - redirect_uri : les applications MSAL utilisent le format msauth.com.<Bundle ID>://auth Actualisation présente des différences notables par rapport à la charge utile de la requête : - authority : contient le point de terminaison de l’URL du tenant Microsoft Entra par opposition au point de terminaison common - home_account_id : affiche le compte d’utilisateur au format <UserObjectId>.< TenantID> - nom d’utilisateur : format UPN haché auth.placeholder-XXXXXXXX__domainname.com |
Actualisation du PRT et acquisition de jetons d'accès | Cette opération revalide le PRT et l’actualise si nécessaire, puis renvoie le jeton d’accès à l’application cliente appelante. |
Nous pouvons à nouveau prendre l’ID de corrélation obtenu depuis les journaux de l’extension SSO côté client et effectuer une référence croisée avec les journaux de connexion Microsoft Entra côté serveur.
La connexion Microsoft Entra affiche des informations identiques à la ressource Microsoft Graph de l’opération de connexion de la précédente section de connexion interactive.
Flux de connexion d’application SSO non-MSAL/Navigateur
La section suivante explique comment analyser les journaux de l’extension SSO pour le flux d’authentification de l’application non-MSAL/Navigateur. Pour cet exemple, nous utilisons le navigateur Apple Safari comme application cliente et cette dernière effectue un appel vers l’application Web Office.com (OfficeHome).
Procédure étape par étape du flux SSO non-MSAL/Navigateur
Les actions suivantes sont nécessaires pour une ouverture de session réussie :
- Supposons que l'utilisateur qui a déjà suivi le processus de démarrage dispose d'un PRT existant.
- Sur un appareil, avec le répartiteur de l’extension Microsoft SSO déployé, les indicateurs de fonctionnalité configurés sont vérifiés pour s’assurer que l’application puisse être gérée par l’extension SSO.
- Comme le navigateur Safari respecte Apple Networking Stack, l'extension SSO essaie d'intercepter la requête d'authentification Microsoft Entra.
- Le PRT sert à acquérir un jeton pour la ressource demandée.
- Si l’appareil est inscrit sur Microsoft Entra, il transmet l’ID d’appareil pendant la requête.
- L’extension SSO remplit l’en-tête de la requête du navigateur pour se connecter à la ressource.
Les journaux suivants côté clientde l’extension SSO montrent que la demande est gérée de manière transparente par le répartiteur de l’extension SSO pour répondre à la requête.
SSOExtensionLogs
Created Browser SSO request for bundle identifier com.apple.Safari, cookie SSO include-list (
), use cookie sso for this app 0, initiating origin https://www.office.com
Init MSIDKeychainTokenCache with keychainGroup: Masked(not-null)
[Browser SSO] Starting Browser SSO request for authority https://login.microsoftonline.com/common
[MSAL] (Default accessor) Found 1 tokens
[Browser SSO] Checking PRTs for deviceId 73796663
[MSAL] [Browser SSO] Executing without UI for authority https://login.microsoftonline.com/common, number of PRTs 1, device registered 1
[MSAL] [Browser SSO] Processing request with PRTs and correlation ID in headers (null), query aaaa0000-bb11-2222-33cc-444444dddddd
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] No cached preferred_network for authority
[MSAL] Caching AAD Environements
[MSAL] networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
[MSAL] networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
[MSAL] networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
[MSAL] networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
[MSAL] networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Found registration registered in login.microsoftonline.com, isSameAsRequestEnvironment: Yes
[MSAL] Passing device header in browser SSO for device id 43cfaf69-0f94-4d2e-a815-c103226c4c04
[MSAL] Adding SSO-cookie header with PRT Masked(not-null)
SSO extension cleared cookies before handling request 1
[Browser SSO] SSO response is successful 0
[MSAL] Keychain find status: 0
[MSAL] (Default accessor) Found 1 tokens
Request does not need UI
[MSAL] [Browser SSO] Checking PRTs for deviceId 73796663
Request complete
Composant du journal de l’extension SSO | Description |
---|---|
Requête SSO du navigateur créée | Toutes les requêtes SSO non-MSAL/Navigateur commencent par cette ligne : - Identificateur de l’offre groupée : ID de l’offre groupée : com.apple.Safari - origine de l’initialisation : URL web à laquelle le navigateur accède avant d’atteindre l’une des URL de connexion à Microsoft Entra ID (https://office.com) |
Démarrage de la requête SSO du navigateur pour l’autorité | Résout le nombre de PRT et l’inscription de l'appareil : https://login.microsoftonline.com/common, nombre de PRT 1, appareil inscrit 1 |
ID de corrélation : | [SSO Navigateur] Traitement de la requête avec des PRT et ID de corrélation dans les en-têtes (null), requête <CorrelationID>. Cet ID est important pour le recoupement avec les journaux de connexion Microsoft Entra côté serveur |
Inscription des appareils | Si l’appareil est inscrit sur Microsoft Entra, l’extension SSO peut transmettre l’en-tête de l’appareil dans les requêtes SSO du navigateur : - Inscription trouvée enregistrée dans - login.microsoftonline.com, isSameAsRequestEnvironment : Oui Passage de l'en-tête de l'appareil dans le SSO du navigateur pour l’ID d’appareil 43cfaf69-0f94-4d2e-a815-c103226c4c04 |
Ensuite, utilisez l’ID de corrélation obtenu grâce aux journaux de l’extension SSO du navigateur pour recouper les journaux de connexion Microsoft Entra.
Attribut du journal de connexion | Description |
---|---|
Application | Nom d’affichage de l’inscription de l’application dans le tenant Microsoft Entra où l’application cliente s’authentifie. Dans cet exemple, le nom d'affichage est OfficeHome. |
ID d’application | Également dénommé ClientID de l'inscription d’application dans le tenant Microsoft Entra. |
Ressource | La ressource d’API à laquelle l’application cliente tente d’accéder. Dans cet exemple, la ressource sera l’application Web OfficeHome . |
Type de jeton entrant | Un type de jeton entrant de jeton d’actualisation principal (PRT) indique le jeton d’entrée utilisé pour obtenir un jeton d’accès à la ressource. |
Méthode d'authentification identifiée | Sous l’onglet Informations sur l’authentification, la valeur du plug-in Microsoft Entra SSO indique que l’extension SSO est utilisée pour faciliter la requête SSO du navigateur |
Version de l’extension Microsoft Entra SSO | Sous l’onglet Détails supplémentaires, cette valeur affiche la version de l’application répartitrice de l’extension Microsoft Enterprise Single Sign-On. |
ID de périphérique | Si l’appareil est inscrit, l’extension SSO peut transmettre l’ID d’appareil pour gérer ses requêtes d’authentification. |
Système d’exploitation | Indique le type de système d’exploitation. |
Conforme | L’extension SSO peut faciliter les stratégies de conformité en transmettant l’en-tête de l’appareil. Les conditions requises sont : - Inscription de l’appareil Microsoft Entra - Gestion GPM - Intune ou partenaire de conformité Intune |
Managé | Montre que l’appareil est sous gestion. |
Type de jointure | macOS et iOS, s’ils sont inscrits, peuvent uniquement être du type : Inscrit auprès de Microsoft Entra. |
Conseil
Si vous utilisez Jamf Connect, il est recommandé de suivre les instructions Jamf les plus récentes sur l’intégration de Jamf Connect à Microsoft Entra ID. Le modèle d’intégration recommandé garantit que Jamf Connect fonctionne correctement avec vos stratégies d’accès conditionnel et Microsoft Entra ID Protection.