Partage via


Authentification et autorisation dans Azure App Service pour les applications mobiles

Note

Ce produit est mis hors service. Pour un remplacement des projets utilisant .NET 8 ou version ultérieure, consultez la bibliothèque Datasync Community Toolkit.

Cet article décrit le fonctionnement de l’authentification et de l’autorisation lors du développement d’applications mobiles natives avec un back-end App Service. App Service fournit une authentification et une autorisation intégrées, afin que vos applications mobiles puissent connecter des utilisateurs sans modifier de code dans App Service. Il offre un moyen simple de protéger votre application et d’utiliser des données par utilisateur.

Avertissement

Cet article traite de la version 4.2.0 du Kit de développement logiciel (SDK) client Azure Mobile Apps. La version actuelle utilise un nouveau mécanisme d’authentification et ne prend pas en charge l’authentification Azure App Service & Autorisation de la même façon.

Pour plus d’informations sur le fonctionnement de l’authentification et de l’autorisation dans App Service, consultez Authentification et autorisation dans Azure App Service.

Authentification avec le Kit de développement logiciel (SDK) fournisseur

Une fois que tout est configuré dans App Service, vous pouvez modifier les clients mobiles pour vous connecter avec App Service. Il existe deux approches ici :

  • Utilisez un Kit de développement logiciel (SDK) publié par un fournisseur d’identité donné pour établir l’identité, puis accéder à App Service.
  • Utilisez une seule ligne de code pour que le Kit de développement logiciel (SDK) client Mobile Apps puisse connecter des utilisateurs.

Pourboire

La plupart des applications doivent utiliser un Kit de développement logiciel (SDK) fournisseur pour bénéficier d’une expérience plus cohérente lorsque les utilisateurs se connectent, pour utiliser la prise en charge de l’actualisation des jetons et obtenir d’autres avantages que le fournisseur spécifie.

Lorsque vous utilisez un KIT de développement logiciel (SDK) fournisseur, les utilisateurs peuvent se connecter à une expérience qui s’intègre plus étroitement au système d’exploitation sur lequel l’application s’exécute. Cette méthode vous donne également un jeton de fournisseur et certaines informations utilisateur sur le client, ce qui facilite considérablement l’utilisation des API de graphe et la personnalisation de l’expérience utilisateur. Cette méthode est appelée « flux client » ou « flux dirigé par le client », car le code sur le client connecte des utilisateurs.

Une fois qu’un jeton de fournisseur est obtenu, il doit être envoyé à App Service pour validation. Azure App Service valide le jeton. Le service crée ensuite un jeton pour le client. Le Kit de développement logiciel (SDK) client Mobile Apps a des méthodes d’assistance pour gérer cet échange et attacher automatiquement le jeton à toutes les requêtes au serveur principal de l’application. Vous pouvez également conserver une référence au jeton du fournisseur.

Note

Certaines plateformes, telles que Windows (WPF), fonctionnent uniquement avec un flux dirigé par le client. D’autres fonctionnent également bien avec le flux serveur et client. Si la plateforme fonctionne uniquement avec le flux dirigé par le client, le guide de démarrage rapide affiche ceci.

Pour plus d’informations sur le flux d’authentification, consultez flux d’authentification App Service.

Authentification sans Kit de développement logiciel (SDK) fournisseur

Si vous ne souhaitez pas configurer un Kit de développement logiciel (SDK) fournisseur, vous pouvez autoriser Azure App Service à gérer la connexion pour vous. Le Kit de développement logiciel (SDK) client Azure Mobile Apps ouvre une vue web pour le fournisseur de votre choix et connectez-vous à l’utilisateur. Cette méthode est appelée « flux serveur » ou « flux dirigé par le serveur », car le serveur gère le processus qui connecte les utilisateurs. Le Kit de développement logiciel (SDK) client ne reçoit jamais le jeton du fournisseur.

Envoi d’un jeton à partir du flux dirigé par le client

Lors de l’utilisation du flux dirigé par le client, commencez par obtenir les informations pertinentes dont Azure App Service a besoin pour valider le jeton. Dans la plupart des cas, le jeton est un jeton d’accès. Pour plus d’informations, consultez la documentation Azure App Service.

Vous pouvez ensuite générer l’objet JSON approprié. Par exemple, si vous utilisez MSAL pour effectuer un flux dirigé par le client sur .NET dans une application WPF, vous pouvez utiliser le code suivant :

var requestBody = new JObject(new JProperty("access_token", authResult.AccessToken));
var userInfo = await mobileClient.login("aad", requestBody);

Le corps de la demande doit correspondre aux attentes comme indiqué dans la documentation.