Sommaire | ||
---|---|---|
|
Authentification OAuth 2.0 avec Azure Active Directory
Le protocole OAuth 2,0 est le protocole de l’industrie pour l’autorisation. Il permet à un utilisateur d’accorder un accès limité à ses ressources protégées. Conçu pour fonctionner spécifiquement avec le protocole HTTP (Hypertext Transfer Protocol), OAuth sépare le rôle du client du propriétaire de la ressource. Le client demande l’accès aux ressources contrôlées par le propriétaire de la ressource et hébergées par le serveur de ressources. Le serveur de ressources émet des jetons d’accès avec l’approbation du propriétaire de la ressource. Le client utilise les jetons d’accès pour accéder aux ressources protégées hébergées par le serveur de ressources.
OAuth 2.0 est directement lié à OpenID Connect (OIDC). Étant donné que OIDC est une couche d’authentification et d’autorisation reposant sur OAuth 2.0, il n’est pas compatible avec OAuth 1.0. Azure Active Directory (Azure AD) prend en charge tous les flux OAuth 2.0.
Dépréciation de l'authentification de base sur Exchange Online
A partir d’Octobre 2022, Microsoft supprime progressivement l’authentification de base pour l’accès aux différents services dont EWS.
...
Mettre en œuvre l’authentification OAuth 2.0
Remarque |
---|
Un runtime Harmony supérieur à 408 Service Pack C (21/10/2022) est requis pour réaliser ces opérations |
...
Depuis cette interface, vous devez également accorder un consentement d’administrateur afin d’appliquer cette autorisation pour l’ensemble des comptes de l’organisation.
...
.
...
A rajouter également : Dans Authentification, il faut cocher “Activer les flux mobiles et de bureaux suivants“
...
A noter : le mot de passe est crypté par Harmony avec une clé et un système secret. Il n’est donc jamais envoyé sur le réseau en clair.
Il s’agit maintenant de récupérer deux identifiants pour pouvoir les indiquer dans le paramétrage de EWS en mode OAuth :
“Client ID” = ID d’application
“Tenant ID” = ID de l’annuaire (locataire)
...
Il faut aussi ajouter cette autorisation
...
Récapitulatif des menus Azure
...
La définition de ces valeurs s’effectue dans le programme ‘Administration de EWS en mode OAuth2'
...
Astuce |
---|
Vous pouvez, maintenant, utiliser Divalto pour envoyer des mails , créer des RDV dans le calendrier et ajouter des contacts dans votre compte Exchange Serveur et dans Outlook |
...
Mettre en œuvre l’authentification OAuth 2.0 dans le mode “sans mot de passe”
Remarque |
---|
Un runtime Harmony supérieur à 409 Service Pack A (03/03/2023) est requis pour réaliser ces opérations, tant sur le SERVEUR que sur le CLIENT |
Info |
---|
Les informations suivent concernent les comptes utilisateurs physiques interactifs (pas pour les comptes de services comme pour l’envoi de mail par processus) |
Dans ce mode on peut ne plus mettre le nom du compte et le mot de passe dans la gestion exchange serveur .
Exemple dans divaltoviewer.exe en mode connecté au serveur, on a indiqué qu’on utilise exchange serveur mais sur ce compte windows , on peut ne plus mettre le nom et le mode de passe du compte EWS .
Ceci est surtout destiner aux comptes EWS dit ‘sensibles’ et sur lesquels on veut réduire la diffusion du mot de passe.
Il faut donc faire un paramétrage dans Azure en suivant ces instructions, ce qui permettra au final de ne rien mettre dans les champs ci dessous
...
Le bouton Authentification Azure permet de vérifier si cela fonctionne.
Dans ce mode, toutes les 2h, il faut donner a EWS un token valide.
Si Divalto connait le compte et le mot de passe, le nouveau token est re-demandé automatiquement à Azure sans intervention de l’utilisateur.
Par contre si divalto ne connait pas le compte et/ou le mot de passe, il va alors demander a Azure une demande de connexion de l’utilisateur a son compte EWS en mode XWPF .Azure affiche cette boite de dialogue, invitant l’utilisateur à indiquer son compte Microsoft et son mot de passe .
...
Ceci permet a Azure de renvoyer un token a Divalto pour pouvoir continuer a envoyer des mails et travailler avec le calendrier EWS de l’utilisateur .
On peut aussi avoir accès par la saisie des paramètres techniques
...
et enfin par le zoom des clients , dans le bouton d’envoi de email
...
En mode web, on utilise le serveur web xhtml5 pour le dialogue avec Azure
...
Il faut ensuite revenir dans la saisie divalto qui devrait afficher le message suivant
...
En général le renouvellement de jeton par Azure permet de travailler pendant 90 jours sans avoir a refaire une connexion a son compte.
Les boîtes de dialogue ne sont nécessaires que pour vérifier si la demande de connexion à votre compte EWS fonctionne. En effet, lorsque le programme Diva envoie un e-mail et que le jeton est invalide, il sollicite un renouvellement auprès d'Azure. Si cette demande de renouvellement n'est plus possible (selon les règles définies par votre administrateur Azure, généralement dans un délai de 90 jours), le programme Diva vous demandera alors directement de vous connecter à votre compte EWS via Azure. Dans ce cas, vous verrez s'afficher la boîte de dialogue Azure, soit dans votre navigateur web pour une connexion HTML5, soit sous forme de dialogue Windows pour XWPF
C’est pour cela que ce mode de fonctionnement ne peut être utilisé qu'avec un compte d’un utilisateur dont on sait qu’il est toujours en mode interactif.
Pour cela il faut faire le paramétrage suivant dans azure
...
...
...
...
...
...
...
...
...
...
...
...
...
Puis dans Divalto il faut indiquer les code tenant id et client id et l’url d’indirection (l’url d’indirection sert pour le mode navigateur web avecxhmtl5 )
...
ou
En définissant comme valeur (url à adapter si vous êtes en on-premise pour définir les urls que vous utilisez)
Bloc de code |
---|
urlredirect=https://api.divaltocloud.com/<site>/<env>/api/v1/EWSToken
cmdurlgettokencode=https://api.divaltocloud.com/<site>/<env>/api/v1/EWSGetTokenCode
methodegettokencode=POST
jsoncalculergettokencode=1
datacalculergettokencode={ "state":"%state%" } |
Soit par exemple pour le site 699150 environnement v215:
Bloc de code |
---|
urlredirect=https://api.divaltocloud.com/699150/v215/api/v1/EWSToken
cmdurlgettokencode=https://api.divaltocloud.com/699150/v215/api/v1/EWSGetTokenCode
methodegettokencode=POST
jsoncalculergettokencode=1
datacalculergettokencode={ "state":"%state%" } |
Une fois terminé, validez et validez le paramétrage de la configuration.
...
Remarque |
---|
Il faudra aussi autoriser l’url en question dans votre panel azure |
Vous pouvez à présent appuyer sur le bouton Authentification azure pour être redirigé vers la saisie de votre compte Windows pour récupérer le token et pouvoir envoyer des mails en routage EWS.
Liens d’informations supplémentaires
https://docs.microsoft.com/fr-fr/azure/active-directory/develop/quickstart-register-app
...