2015-09-02 3 views
2

Je suis en train de mettre en œuvre la fonctionnalité de déconnexion unique. Ma configuration est la suivante: ASP.NET Relying Party < -> Relying Party STS < -> SAML2 STS. SAML2 STS possède un répertoire utilisateur. J'utilise ADFS 3.0 pour Relying Party STS. ASP.NET Relying Party communique avec STS Relying Party à l'aide du protocole WS-Federation et STS communicateur communique avec SAML2 STS via le protocole SAML2.Déconnexion unique ADFS 3.0 avec une partie utilisatrice STS

Le comportement que j'essaie de mettre en œuvre est la fonctionnalité Single Sign Out. Lorsque l'utilisateur se déconnecte de l'application ASP.NET, l'application ASP.NET envoie la demande de déconnexion à STS Relying Party à l'aide du protocole FS-Federation. La partie utilisatrice STS transfère la demande de déconnexion à SAML2 STS en utilisant le protocole SAML2 pour la première fois. Toutefois, si l'utilisateur se connecte immédiatement et se déconnecte à nouveau, Relying Party ne transmet pas la demande de déconnexion à SAML2 STS. Au lieu de transférer la demande de déconnexion à SAML2 STS, l'utilisateur voit les pages Déconnectées de STS de Relying Party (ADFS 3.0). Il semble qu'ADFS 3.0 conserve le cookie MSISSignoutProtocol pendant 10 minutes et tant que ce cookie n'a pas expiré, il ne transmet pas la demande de déconnexion à SAML2 STS.

Comment puis-je résoudre ce problème? Je veux que l'utilisateur soit redirigé vers SAML2 STS par Relying Party STS (ADFS 3.0) toujours lorsque l'utilisateur se déconnecte. Existe-t-il une configuration disponible pour remplacer le comportement que je vois sur ADFS 3.0?

+1

Salut! Nous sommes confrontés au même problème. Avez-vous pu le résoudre? –

+0

Avez-vous déjà trouvé une solution pour cela? Cela nous affecte aussi. – David

Répondre

0

Dans votre application Web, à quelle URL de déconnexion est définie? Pour fonctionner correctement avec ADFS 3.0, il doit être

https://fs.company.com/adfs/ls/idpinitiatedsignon.aspx 

Pour ADFS 2.0, il était autrefois

https://fs.company.com/adfs/ls/?wa=wsignout1.0 

mais qui cause le comportement que vous avez décrit: il définit le cookie MSISSignOutProtocol qui empêche alors le cookie MSISAuth de étant supprimé et maintient la session active.