Windows Azure Mobile Services – Android - Démarrez avec l’authentification dans Mobile Services

Ce billet est une traduction du tutoriel de la documentation sur le site Windows Azure. Vous pouvez le retrouver en version originale à https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-users-android/?fb=fr-fr.

 

Ce sujet vous montre comment authentifier des utilisateurs dans Windows Azure Mobile Services à partir de votre application Android. Dans ce tuto, vous rajoutez l’authentification au projet quickstart en utilisant un fournisseur d’identité supporté par Mobile Services. Après vous être authentifié avec succès, et une fois que Mobile Services vous autorise l’accès, la valeur de l’ID utilisateur est affichée.

Ce tuto présente les étapes de base qui permettront l’authentification de votre appli :

  1. Déclarez votre appli pour l’authentification et configurez Mobile Services
  2. Restreignez aux utilisateurs authentifiés les droits d’accès aux tables
  3. Ajoutez l’authentification à l’appli

Ce tuto est basé sur Mobile Services quickstart (application de mise en route proposée par Mobile Services). Vous devez d’abord avoir regardé le tutoriel Get Started with Mobile Services.

Déclarez votre appli pour l’authentification et configurez Mobile Services

Pour pouvoir authentifier des utilisateurs, vous devez configurer votre appli chez un fournisseur d’identité. Vous devez ensuite recopier dans Mobile Services le secret client généré par le fournisseur d’identité.

  1. Connectez-vous sur le portail de gestion Windows Azure, cliquez sur Mobile Services et cliquez ensuite sur votre mobile service.

 

 2. Cliquez sur l’onglet Dashboard et notez la valeur de l’URL du Site.

 

Il se peut que vous deviez donner cette valeur au fournisseur d’identité quand vous configurez votre appli.

  1. Choisissez un fournisseur d’identité de la liste ci-dessous et suivez les étapes pour configurer votre appli avec ce fournisseur :

Rappelez-vous de noter l’identité client et les valeurs secrètes générées par le fournisseur.

Note de sécurité : Le secret généré par le fournisseur est une crédentité importante pour la sécurité. Ne partagez ce secret avec personne et ne le mettez pas dans votre application.

2. De retour dans le portail de gestion, cliquez sur l’onglet IDENTITY, entrez l’identifiant de l’appli et les valeurs secrètes partagées obtenues auprès de votre fournisseur d’identité, et cliquez sur SAVE.

 

Votre mobile service et votre application sont maintenant tout deux configurés pour fonctionner avec le fournisseur d’authentification choisi.

Restreignez les droits d’accès aux utilisateurs authentifiés

  1. Dans le Portail de gestion, cliquez sur l’onglet Data, puis sur TodoItem.

 

 

2. Cliquez sur l’onglet Permissions, positionnez toutes les authentifications à Only authenticated users, et cliquez ensuite sur SAVE. Cela garantira que toutes les opérations sur la table TodoItem requerront un utilisateur authentifié. Cela simplifie également les scripts dans le prochain tutoriel car ils n’auront pas à autoriser la possibilité d’avoir des utilisateurs anonymes qui accèdent à la table.

 

3. Dans Eclipse, ouvrez le projet que vous avez créé en suivant le tutoriel Get started with Mobile Services.

4. A partir du menu Run, cliquez sur Run pour démarrer l’application; vérifiez qu’une exception avec un code de statut 401 (Unauthorized) est levée après que l’appli a démarré.

Cela arrive car l’appli tente d’accéder à Mobile Services en tant qu’utilisateur non authentifié, mais la table TodoItem requiert maintenant cette authentification.

Ensuite, vous allez mettre à jour l’application pour qu’elle authentifie les utilisateurs avant de demander des ressources au mobile service.

Ajoutez l’authentification à l’application

  1. Dans le Package Explorer de Eclipse, ouvrez le fichier ToDoActivity.java et ajoutez les instructions suivantes.

 

2. Ajoutez la méthode suivante dans ToDoActivity :

 

Cela crée une nouvelle méthode pour gérer le processus d’authentification. L’utilisateur est authentifié en utilisant un login Google. Une boîte de dialogue affiche l’ID de l’utilisateur authentifié.

Note : Si vous utilisez un fournisseur d’identité autre que Google, changez la valeur entrée dans la méthode login avec la valeur d’un des fournisseurs suivants : microsoftaccount, facebook, ou twitter.

3. Dans la méthode onCreate, ajoutez la ligne de code suivante après le code qui illustre l’objet MobileServiceClient.

 

Cette méthode appelle le processus d’authentification.

4. Déplacez le code restant après authenticate ( ) ; dans la méthode onCreate dans une nouvelle méthode onCreate, qui ressemble à ça :

 

5. A partir du menu Run, cliquez ensuite sur Run pour démarrer l’appli et enregistrez-vous auprès du fournisseur d’identité choisi.

Une fois enregistré, l’appli devrait fonctionner sans erreur et vous devriez pouvoir demander Mobile Services et faire des mises à jour aux données.

 Etapes suivantes:

Dans le tutoriel suivant, Authorize users with scripts, vous allez prendre la valeur du user ID fournie par Mobile Services basée sur un utilisateur authentifié et l’utiliser pour filtrer les données renvoyées par Mobile Services.

Pour voir comment ajouter l'authentification sur votre application avec une autre plateforme utilisée, cliquez ici.

Vous êtes développeur d’apps ? Nous vous invitons à rejoindre le Windows Apps Club. News, ressources, accès prioritaire aux événements Microsoft, lots spécifiques en cas de participation à nos opérations et jeux-concours : n’attendez plus et inscrivez-vous !  

 Et pour mettre ce tutoriel en pratique, essayez la version d'évaluation gratuite Windows Azure 90 jours!