Pour l’authentification unique Office365, il est nécessaire de créer 2 applications dans votre Azure une pour le front end (l’application Angular), une pour le back end (un webservice)
Le but est de fournir à Tecsoft 5 données (voir en fin de mail pour l’exemple Tecsoft) :
- Domain
- Tenant Id
- Font End Client Id
- Back End Client Id
- Back End Secret
Et du côté de votre Azure, d’indiquer l’url de redirection vers le front end TVTools.
Pour le Front End
Dans votre portail Azure, merci de noter le domaine principal (Domain)
Inscrivez une nouvelle application.
Donnez un nom à votre application, puis indiquez l’url de redirection : https://prod6.tvtools.eu/webaccess/#/microsoft-sso (merci de changer cette url par celle indiquée dans le mail qui vous sera envoyé).
Cliquez sur « s’inscrire » en base de la page, vous obtenez :
Merci de copier dans un document l’ID de l’application FrontEnd (clientId front end) et l’ID de l’annuaire (tenantId)
Cliquez sur « Authentification » cocher « jeton d’accès » et « jeton d’ID »
Enregistrez vos modifications (en haut de page)
Pour le Back End
Inscrivez une nouvelle application
Ne pas indiquer d’url de redirection, puis cliquez sur « s’inscrire »
Copiez dans un document l’ID de l’application Back End (clientId back end)
(Note : le Back End Secret n’est pas nécessaire pour une authentification simple, uniquement dans le cas où l’utilisateur a besoin d’accéder à ses contacts dans l’interface TVTools)
Cliquez sur « Certificats et Secrets », ajoutez « un nouveau secret client », puis bien copiez dans le document ce « Back End Secret ».
Cliquez sur « Exposer une API » puis sur « Ajouter une étendue »
Et juste cliquez sur « Enregistrer et continuer »
Une nouvelle fenêtre s’ouvre, merci d’indiquer un nom « api-access » par exemple, puis de cliquer sur « Ajouter une étendue »
Cliquez sur « Ajouter une application cliente » et indiquez le clientId front end (l’id de l’application azure que vous avez créée pour le front end)
Puis, cochez la case en dessous et cliquez sur « Ajouter une application »
Cliquez sur « Manifeste », et remplacez « groupMembershipClaims »: null,
Par « groupMembershipClaims »: « SecurityGroup »,
Après modifications :
Sauvegardez vos modifications
Ensuite afin que l’application puisse accéder aux groupes auxquels appartient l’utilisateur, il est nécessaire d’ajouter le droit « GroupMember.Read.All »
Pour cela, dans Api autorisées, cliquez sur « Ajouter une autorisation ».
Puis cliquez sur « Microsoft Graph »
Cliquez sur « Autorisation de l’application »
Sélectionnez
Plus cliquez sur « accorder le consentement »
Vous devriez obtenir un check vert.
La procédure est terminée.
Merci de communiquer à Tecsoft vos données.
Dans notre exemple, nous avons :
Domain: tvtools.onmicrosoft.com ou tvtools.info
Tenant Id: 46b25b97-b33c-49c9-8a07-ea4de40621b4
Font End Client Id: d7238c20-c777-4064-af09-2e698137bf73
Back End Client Id: a5b3da94-e008-44ae-a0d7-b5d688803925
Impersonation d’application
Le compte utilisé pour générer le token doit avoir les droits d’impersonnation et voici comment le faire :
Rendez-vous dans votre « centre d’administration Exchange
Dans « autorisations » cliquez sur « Rôles d’administrateur »
Dans les Rôles d’administrateur, sélectionnez « Application impersonation » et cliquez sur le plus « + » pour ajouter un groupe de rôle
Une fois nommé (nommage libre) dans « Rôles », cliquez à nouveau sur le plus « + » et ajoutez « ApplicationImpersonation ».
Cliquez ensuite sur « ajouter » ou faites un double clic, puis cliquez sur « OK »
Descendez ensuite dans le tableau « Membres » et cliquez à nouveau sur le plus « + » de ce menu puis ajoutez le compte correspondant au booking (portant généralement des noms comme « TVTbooking » ou encore « TVTOOLS »
Cliquez ensuite sur « OK ».
Rendez-vous ensuite sur un powershell en mode administrateur depuis un ordinateur sous windows et entrez les commandes suivantes (en utilisant le compte admin de l’office365 et non le compte utilisé pour gérer les salles dans la solution TVTools) :
install-Module -Name AzureAD
Install-Module AzureADPreview $MySession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri
https://ps.outlook.com/powershell/ -Credential $AceCred -Authentication Basic -AllowRedirection
import-pssession $MySession
Si on vous demande de confirmer, entrez « t » pour tout confirmer,
Quand vous arrivez à la fenêtre de login, donnez les crédentiels de l’admin du compte office365
Puis faites : import-pssession $MySession
Entrez ensuite les commandes suivantes en remplaçant «Room_name » par le mail de la salle concernée :
Set-CalendarProcessing room1@domain.com -AutomateProcessing AutoAccept -AddOrganizerToSubject $False -DeleteComments $False -DeleteSubject $False -RemovePrivateProperty $false
Mise en place dans TVTools WebAccess
Rendez-vous sur l’onglet correspondant au roombooking sur le volet de gauche de TVTools WebAccess
Puis sélectionnez les paramètres du booking
Ici vous allez sélectionner (si ce n’est pas déjà le cas) type de solution booking : office 365 avec token utilisateur
Vous allez ensuite entrer les informations récupérer dans l’application Microsoft Azure et vous allez cliquer sur « Obtenir token office 365 »
Vous devriez voir le texte en dessous changer et commencer par « token status: obtenu… » avec une date valide.
Si besoin, contactez le support.