Je cherche à faire quelque chose comme ça :
- J'ai une application Web MVC4 et un service Web-API (hébergé sur deux rôles distincts dans Azure)
- Un autre rôle exécute CustomSTS1.
- L'application Web MVC fait confiance au CustomSTS1
- Maintenant, lorsque le client se connecte au site, il est redirigé vers la page de connexion STS.
- Une fois connecté, il est redirigé de nouveau vers le site Web MVC.
- À partir de ce site Web, le client effectue des actions, qui à leur tour invoquent le service Web-API.
J'ai le jeton SAML dans l'application web, que je transmets au service WebAPI.
Maintenant, lorsque j'essaie de valider le jeton SAML du côté du Web API, je reçois un
Message=ID1032: Au moins un 'audienceUri' doit être spécifié dans la exigence de jeton de sécurité SAML lorsque AudienceUriMode est défini sur 'Always' ou 'BearerKeyOnly'. Ajoutez les valeurs d'URI valides à la propriété AudienceUris de SamlSecurityTokenRequirement, ou désactivez la vérification en spécifiant un AudienceUriMode de 'Never' sur SamlSecurityTokenRequirement.
Ceci est sans que le service Web API ne fasse confiance au CustomSTS1
Une fois que j'ai configuré la confiance, Je reçois toujours un HTTP 401: UNAUTHORIZED, chaque fois que j'essaie de faire une requête HTTP GET vers le service Web API.
Maintenant, Ma Question est, (Je sais que ma démarche actuelle est définitivement mauvaise)
- Comment puis-je configurer la relation de confiance avec CustomSTS1, de telle sorte que le service WebAPI puisse faire un ActAS au nom de l'utilisateur connecté au site MVC ?
OU
- Cette architecture est-elle incorrecte ?
- Y a-t-il un autre moyen d'atteindre cela ?