[Office 365] Déployer son application dans le lanceur d’applications Office 365
Si vous êtes un utilisateur Office 365, vous avez déjà certainement remarqué que la barre de navigation principale a évolué récemment pour proposer les différentes applications disponibles sous forme d’une panneau activable depuis le pictogramme en haut à gauche des pages.
Cette navigation est accessible que vous soyez dans SharePoint, Outlook Web Access ou encore Yammer. Vous avez peut-être même remarqué qu’il est possible de les retirer de ce panneau (appelé lanceur d’applications), ou encore de les ajouter à la barre de navigation :
On retrouve cette barre de navigation sur la partie droite, pratique pour un accès rapide :
Qui a dit “Menu démarrer” et “Barre des tâches” ?
Mais ce qui nous intéresse aujourd’hui, c’est de pouvoir ajouter notre propre application. En effet, après avoir développé une application web pour Office 365, il vous faudra la rendre accessible à tous les collaborateurs de votre entreprise, voire la proposer à d’autres sociétés si vous êtes dans une démarche d’éditeur de logiciel avec un modèle SaaS.
Jusqu’à présent, Visual Studio s’est occupé de tout lors du développement : il a déclaré automatiquement votre application dans Azure Active Directory et lui a attribué les permissions nécessaires. Mais pour déployer en production, il convient de publier votre application avec une configuration spécifique et dissociée.
Tout d’abord, observons la section appSettings de votre web.config:
Vous noterez les 3 entrées “ida:ClientID”, “ida:Password” et “ida:AuthorizationUri”. Celles-ci permettent de définir l’identité de votre application. Le mot de passe correspond à une clé générée par Azure et permet de certifier que votre application est la bonne grâce au couple ClientID/Password (ou “Secret key”). Ces valeurs là sont actuellement gérées par Visual Studio qui les met à jour tout seul; nous allons voir pour les déclarer et les utiliser pour notre déploiement en production.
Déclaration de votre application
Commencez par vous connecter au portail Azure. Dans la section “Active Directory”, sélectionnez votre domaine puis allez dans “Applications” et clic sur “Add”.
Remarque: Il faudra avoir évidemment associé auparavant votre abonnement Azure à votre tenant Office 365 pour pouvoir l’administrer (https://msdn.microsoft.com/fr-fr/library/azure/hh969247.aspx). Les étapes suivantes peuvent être réalisées par votre administrateur Azure qui vous fournira alors les ClientID et la clé à utiliser.
On commence par signifier que c’est une application que nous avons spécifiquement développé pour notre entreprise (versus la déclaration d’applications d’éditeurs tiers) :
On lui donne un petit nom, et on sélectionne le type d’application. En effet, la partie consentement n’est pas tout à fait la même dans les 2 cas. Nous sommes ici dans un scénario d’application web:
Il faut ensuite rentrer l’URL de la page de login, ainsi qu’une URI unique représentant l’application (cette URI n’a pas à être fonctionnelle !).
Ensuite on accède à la fiche de l’application: on peut rééditer le nom, l’URL de connexion, mais aussi ajouter un logo :
On peut ensuite spécifier si l’application est multi-tenant ou pas ‘'(laisser “Non” si l’application ne concerne que votre entreprise), mais surtout c’est ici que l’on peut récupérer le Client ID et générer les clés pour l’authentification. Ajoutez donc une nouvelle clé avec une durée d’un ou 2 ans (pour des raisons de sécurité, il faut renouveler régulièrement ses clés). La valeur de la clé ne sera affichée qu’après sauvegarde de l’application.
Autre élément d’importance : on doit ajouter les permissions nécessaire à l’application.
En cliquant sur “Add application” on peut sélectionner les autres services :
Et pour chacune des applications, cochez les permissions nécessaires. Il faudra bien respecter les droits requis par votre application sous peine de recevoir une erreur d’accès lors des appels à l’API.
Une fois que vous aurez configuré tout cela, sauvegardez et récupérez le Client ID et la clé:
Créez un fichier de configuration pour le mode Release (ou pour une autre configuration genre “PROD”) et insérez-les 2 valeurs via une transformation :
Il ne vous reste plus qu’à publier l’application, sur Azure websites dans un Web App d’Azure App Service par exemple.
Ajout au lanceur d’applications
Dernière étape: donner les accès aux utilisateurs afin de retrouver votre site dans leurs applications. Pour cela, retournez sur l’application que vous avez déclaré (“Active Directory” / votre domaine / “Applications” / Votre application) et rendez-vous dans “Users and Groups” pour lui affecter les accès.
Ensuite, rien de plus simple : choisissez la vue “All users”, sélectionnez ceux qui doivent bénéficier de l’application et cliquez sur “Assign”. L’accès sera désigné comme “Direct”, i.e. associé directement au compte.
Si on effectue la même chose mais côté groupe :
Les accès seront alors hérités depuis le groupe (évidemment le compte Alain Démo est ici dans le groupe “Test group”) :
Après cela, les utilisateurs pourront retrouver l’application et l’ajouter, s’ils le désirent, au lanceur d’applications :
Vos applications d’entreprise seront ainsi toutes regroupées, à portée de clic depuis l’environnement de travail de vos collaborateurs !
Commentaires