3 pièce(s) jointe(s)
Authentification d'un service Windows sur Azure
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)
Pièce jointe 301930
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 :))
Code:
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); |
Ma première question :
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 :
Pièce jointe 301940
Lorsque je clique sur mon compte utilisateur, j'ai une redirection, puis le message suivant :
Pièce jointe 301945
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 ?