Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Microsoft Authentication Library (MSAL) pour Node peut utiliser le broker d’authentification macOS pour fournir l’authentification unique (SSO) et l’acquisition sécurisée de jetons en utilisant des comptes connus du système d’exploitation. Cet article explique le répartiteur macOS et explique comment activer et utiliser l’authentification répartie dans MSAL Node.
Pour obtenir une vue d’ensemble de la prise en charge du répartiteur sur toutes les plateformes, consultez Utilisation du nœud MSAL avec le répartiteur de jetons natif.
Qu’est-ce que le broker macOS ?
Sur macOS, le courtier d’authentification est fourni par le plug-in Microsoft Enterprise SSO pour les appareils Apple, qui est inclus avec l’application Portail d'entreprise. Le courtier gère les échanges d’authentification et le cycle de vie des jetons pour les comptes connectés. Les principaux avantages sont les suivants :
- Sécurité renforcée. Les améliorations de sécurité sont fournies via les mises à jour du répartiteur sans nécessiter de modifications de code d’application. Les jetons d’actualisation sont liés à l’appareil et protégés contre l’exfiltration.
- Intégration du système. Les utilisateurs peuvent réutiliser des comptes connectés existants à partir de Portail d'entreprise, ce qui réduit la réinscriture des informations d’identification.
- Protection des jetons. Le répartiteur garantit que les jetons d’actualisation sont liés au contexte de l’appareil.
Plateformes et architectures prises en charge
| Composant | Soutenu |
|---|---|
| Architecture | ARM64 (Apple Silicon) et x64 (Intel) |
| Version de macOS | macOS 10.15 (Catalina) et versions ultérieures |
Tip
Nous vous recommandons de mettre à jour vers la dernière version macOS pour garantir la compatibilité avec les fonctionnalités de sécurité et les fonctionnalités broker les plus récentes.
Prerequisites
- Node.js 18 ou version ultérieure
- Installer
@azure/msal-node-extensionsen tant que dépendance - L’appareil doit être inscrit via Portail d'entreprise. Après l’inscription, vérifiez que d’autres applications Microsoft peuvent se connecter via l’extension SSO (par exemple, vous pouvez vous connecter à Word via Portail d'entreprise).
- Enregistrez l’URI de redirection du broker dans l’inscription de votre application. Pour connaître les valeurs d’URI prises en charge, consultez l’URI de redirection.
URI de redirection
Pour les flux de répartiteur macOS, vous devez inscrire un URI de redirection spécifique à la plateforme d’applications mobiles et de bureau dans le portail Azure.
Pour les applications non signées (scripts, outils CLI) :
Utilisez l’URI de redirection suivant pour les applications non signées, telles que les scripts et les outils CLI :
msauth.com.msauth.unsignedapp://auth
Pour les applications signées/groupées :
Utilisez le format d’URI de redirection suivant pour les applications signées ou groupées :
msauth.<your-bundle-id>://auth
Remplacez <your-bundle-id> par l’identificateur de bundle Apple de votre application (par exemple, msauth.com.example.myapp://auth).
Important
L’URI de redirection du répartiteur doit uniquement être utilisé pour les flux de répartiteur. Si votre application utilise également des flux d’authentification basés sur un navigateur, utilisez un URI de redirection distinct pour ceux-ci. Le fait de fournir l’URI de redirection du broker à un flux basé sur le navigateur provoquera une erreur.
Activer la fonctionnalité
L’activation du répartiteur macOS nécessite la même configuration que Windows. Transmettez une NativeBrokerPlugin instance dans la configuration du répartiteur :
import { PublicClientApplication, Configuration } from "@azure/msal-node";
import { NativeBrokerPlugin } from "@azure/msal-node-extensions";
const msalConfig: Configuration = {
auth: {
clientId: "your-client-id",
},
broker: {
nativeBrokerPlugin: new NativeBrokerPlugin(),
},
};
const pca = new PublicClientApplication(msalConfig);
Note
msal-node ne bascule pas vers un flux via le navigateur si le broker n’est pas disponible. Activez uniquement l’authentification répartie dans les environnements qui prennent en charge le répartiteur pour éviter les défaillances inattendues.
Acquisition des jetons
Acquisition de jetons interactifs
Utilisez acquireTokenInteractive pour demander un jeton auprès du broker macOS :
const tokenRequest = {
scopes: ["User.Read"],
};
const result = await pca.acquireTokenInteractive(tokenRequest);
console.log("Access token:", result.accessToken);
Acquisition de jetons silencieux
Après une connexion interactive initiale, les demandes de jeton suivantes peuvent être effectuées en mode silencieux :
const accounts = await pca.getAllAccounts();
if (accounts.length > 0) {
const silentRequest = {
scopes: ["User.Read"],
account: accounts[0],
};
const result = await pca.acquireTokenSilent(silentRequest);
console.log("Access token (silent):", result.accessToken);
}
Mise en cache de jeton
Le répartiteur d’authentification gère l’actualisation et la mise en cache des jetons d’accès. Les jetons acquis via le répartiteur sont gérés par le répartiteur lui-même et sont liés à l’appareil. Vous n’avez pas besoin de configurer la mise en cache personnalisée lors de l’utilisation du répartiteur.
Différences lors de l’utilisation du répartiteur macOS
- Lorsque le répartiteur doit demander une interaction, une boîte de dialogue d’authentification macOS native s’affiche. Cela modifie l’expérience utilisateur (UX) par rapport à l’authentification basée sur le navigateur.
- Le paramètre
forceRefreshdeacquireTokenSilentn’est pas pris en charge. Vous pouvez recevoir un jeton mis en cache du répartiteur, quel que soit cet indicateur. - La preuve de possession (PoP) du jeton d’accès est prise en charge via le broker.
Limitations
- Les autorités Azure AD B2C et Services ADFS (AD FS) ne sont pas prises en charge via le broker macOS.
- Les fournisseurs d’identité tiers ne sont pas pris en charge.
- Portail d'entreprise doit être installé et l’appareil doit être inscrit pour que le broker fonctionne.
-
msal-nodene bascule pas sur un navigateur si le broker n’est pas disponible. Activez uniquement le répartiteur dans les environnements qui le prennent en charge.