Bonjour,
Dans mon organisation, on passe de AD vers Azur (azur registrary, si j'ai bien compris)
Et je ne suis pas un expert Azur, quelqu'un chez nous s'occupe de cette section, mais j'essai de passer à une authentification SSO avec Azur.
J'ai lu pas mal de message, ça marche presque
Merci en passant, à tout ceux qui donne des informations. Ça aide à avancer dans le noir.
LOCAL
l_OAuth2Params est un OAuth2Paramètres
l_OAuth2Params.ClientID = l_sAppID //ID d'application consultable dans "Vue d'ensemble"
l_OAuth2Params.ClientSecret = l_sSecretID //Le secret client ne doit pas être renseigné pour application de bureau
l_OAuth2Params.URLAuth = "
https://login.microsoftonline.com/"+l_sDirectoryID+"/oauth2/v2.0/authorize"
l_OAuth2Params.URLToken = "
https://login.microsoftonline.com/"+l_sDirectoryID+"/oauth2/v2.0/token"
l_OAuth2Params.ParamètresSupplémentaires = "force_reapprove=false"
//Ajouter user.read dans "API autorises" pour lire les informations de l'utilisateur connecté
l_OAuth2Params..Scope = "offline_access User.Read"
l_OAuth2Params.URLRedirection = "
http://localhost:5000/" //"
http://127.0.0.1:5000/"
// Demande d'authentification : ouvre la fenêtre de login
LOCAL
l_AuthMonToken est un AuthToken
// Demande d'authentification : ouvre la fenêtre de login
l_AuthMonToken = AuthIdentifie(l_OAuth2Params)
SI PAS l_AuthMonToken.Valide ALORS
Trace("/" + l_AuthMonToken.Valeur + "/")
Trace("La connexion a échouée"+RC+l_AuthMonToken.RéponseServeur)
Erreur("Erreur de connexion")
RENVOYER Faux
SINON
ToastAffiche("Connexion ok", toastCourt, cvMilieu, chCentre, VertClair)
RENVOYER Vrai
FIN
D'après ce que je comprend de nos recherches à plusieurs spécialistes, la demande arrive à azur, j'ai la fenêtre de connexion.
Le token à l'air d'être renvoyé par Azur, on le voit dans le navigateur (d'après l'expert à ce niveau), mais moi, ma variable l_AuthMonToken reste VIDE et la méthode .valide renvoie FAUX
Donc le programme affiche l'erreur "Erreur de connexion" et la variable n'a aucune valeur
Questions :
On se demande s'il n'y a pas quelques choses au niveau du type d'adresse IP V4 versus V6, car avec la commande
netstat -ano | findstr LISTENING
on voit le port s'ouvrir mais pas sur une adresse 127.0.0.1 mais [::]:5000
Le port 5000 n'est pas utilisé par un autre mécanisme, il s'ouvre seulement quand on lance la connexion. On a vérifié.
Autre point, est-ce qu'il y aurait soit quelques choses à configurer dans Windev pour que je reçoive l'information en plus de ce code, un flag quelque part à activer ?
Ou est-ce qu'un droit particulier doit être donner par l'équipe Infrastructure ? On comprend qu'avec le monde d'aujourd'hui, que tout est fermé par défaut et tu n'as pas le droit de rien, sauf si on te donne les droits spécifiquement.
Si OUI, je dois demander QUOI en langage TI ?
Si quelqu'un a une piste, car je bloque.
Autre détails, je suis en Windev 2024
Merci d'avance
Corinne
--
Corinne Bonhomme
Québec, Canada