Bonjour,

j'ai une application ASP.NET MVC5, qui fonctionne très bien sur des serveurs qui ont une adresse publique sur internet
cette application utilise l'authentification d'utilisateur Office 365 (SSO)
si j'installe cette application sur une VM installée dans l'azure d'un client, cette VM n'ayant pas d'IP publique, mais accessible en LAN sur le réseau d'entreprise
l'authentification Microsoft ne fonctionne pas.

dans la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public Task OnAuthorizationCodeReceived(AuthorizationCodeReceivedNotification notification)
        {
            try
            {
                List<string> lscopes = scopes.Split(',').ToList();
 
                // Get the signed in user's id and create a token cache
                string signedInUserId = notification.AuthenticationTicket.Identity.FindFirst(ClaimTypes.NameIdentifier).Value;
                SessionTokenCache tokenCache = new SessionTokenCache(signedInUserId, notification.OwinContext.Environment["System.Web.HttpContextBase"] as HttpContextBase);
 
                ConfidentialClientApplication cca = new ConfidentialClientApplication(clientId, redirectUri, new ClientCredential(appPassword), tokenCache.GetMsalCacheInstance(), null);
 
                var result = cca.AcquireTokenByAuthorizationCodeAsync(notification.Code, lscopes).Result;
                ...
le Token n'est jamais reçu.
Or il est correctement reçu sur des serveurs qui ont une IP publique

d'où ma question: quelqu'un sait il, s'il est impératif pour que le SSO Office 365 - Azure fonctionne, que le serveur ait une IP publique (URL de redirection configurée dans les propriétés de l'application d'entreprise associée dans Azure, accessible depuis internet)?
ou faut il configurer un binding quelconque dans les paramètres Azure du client?
est qu'il y a une documentation sur ce sujet quelque part?

Merci d'avance!
Philippe