Bonjour,
Je ne sais pas trop si je poste sur le bon forum, mais j'espère que vous pourrez m'aider
Suite à une migration Office 2010 vers Office 365, je dois adapter un service windows qui actuellement se connecte au serveur Exchange de l'entreprise afin de lire les mails d'une mailbox et de faire différents traitements en fonction de l'objet du mail, destinataire, etc... J'utilise la dll Microsoft.Exchange.WebServices.2.2 pour faire ce traitement, et ça fonctionne bien sur le serveur Exchange.
Cependant avec Office 365, il faut d'abord passer par une authentification via Azure (ce qui implique d'enregistrer l'application dans Azure Active Directory, ce que j'ai fait)
J'ai également ajouté les permissions requises par l'application aux API Microsoft Graph ainsi qu'à Office 365 Exchange Online.
Au niveau du code, il faut donc récupérer un token pour accéder aux API. J'utilise Microsoft.IdentityModel.Clients.ActiveDirectory (en version 2.28.4, je n'ai pas de droit d'admin sur mon poste donc je ne peux pas faire la MAJ )
Ma première question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 string resource = "https://graph.microsoft.com"; string aadInstance = "https://login.microsoftonline.com/{0}"; string tenant = "*******.onmicrosoft.com"; string clientId = "2b1f76a6-*****************b3e0f"; Uri redirectUri = new Uri("http://GTMMailWatcher"); string authority = String.Format(CultureInfo.InvariantCulture, aadInstance, tenant); AuthenticationContext authentificationContext = new AuthenticationContext(authority); AuthenticationResult ar = authentificationContext.AcquireToken(resource, clientId, redirectUri);
Je ne suis pas sûr de ce à quoi correspond clientId dans la méthode AcquireToken. Ici, j'ai renseigné le champ "Application ID" que j'ai récupéré dans Azure. Mais est-ce bien celui-ci que je dois utiliser ?
Lorsque j’exécute mon code, une boîte de dialogue d'authentification s'ouvre :
Lorsque je clique sur mon compte utilisateur, j'ai une redirection, puis le message suivant :
Et a partir de là je suis bloqué.
Est-ce que j'aurai oublié une étape, ou manque-t-il quelque chose pour que cela fonctionne ?
Partager