Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Sommaire
stylenone

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.

...

https://learn.microsoft.com/fr-fr/exchange/clients-and-mobile-in-exchange-online/deprecation-of-basic-authentication-exchange-online

Mettre en œuvre l’authentification OAuth 2.0

Remarque

Un runtime Harmony supérieur à 407a 408 Service Pack C (21/10/2022) est requis pour réaliser ces opérations

...

Vous devez accorder des autorisations supplémentaires à cette application afin que l’application Divalto puisse l’exploiter dans le cadre du protocole EWS.

  • Microsoft Graph

    • CalendarsEWS.ReadWrite

    • Contacts.ReadWrite

    • Mail.Send

    • User.ReadAccessAsUser.All

Depuis cette interface, vous avez devez également la possibilité d’accorder accorder un consentement d’administrateur afin d’appliquer ces autorisations 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.

Image Added

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

image-20241120-131037.pngImage Added

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

image-20241120-114326.pngImage Added

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

...