Je travaille sur un projet où l'on s'authentifie via SAML à partir d'OKTA. J'ai réussi à faire fonctionner l'intégration où une réponse SAMLR est envoyée (via la méthode POST) au site web.
Dans la plus pure tradition TDD, j'ai commencé par écrire quelques tests unitaires. Mes tests unitaires prennent en compte une SAMLResponse (qui est encodée en Base64). Tous mes tests unitaires fonctionnent, cependant, parce qu'une SAMLResponse n'a qu'une durée de vie (expire) de quelques minutes, mes tests unitaires se cassent après quelques minutes.
Je dois donc me connecter périodiquement à OKTA, puis utiliser les outils de développement de Chrome pour capturer le trafic envoyé à mon site de développement. Je copie et colle ensuite la SAMLResponse dans mes tests unitaires et je recommence à passer les tests unitaires. Il est évident que cette situation n'est pas souhaitable.
Ma question est donc la suivante : comment puis-je me connecter à Okta de manière automatisée (de préférence en C#) pour obtenir une SAMLResponse ? Je suppose qu'il existe une URL à laquelle je peux envoyer un POST avec le nom d'utilisateur et le mot de passe et obtenir la SAMLReponse. Toutes mes tentatives de Fiddler pour essayer de comprendre la communication requise m'ont laissé frustré. Je suis à la recherche de tout conseil que vous pourriez avoir. Merci d'avance.