我们使用shibboleth设置了SSO,其中一个SP是报告工具,而另一个是基于java的应用程序。
用户登录Java应用程序(SP2)后,重定向回到SP2,重定向到IDP。
在SP2的登录页面中,我们使用SP1中的ajax(CORS)嵌入了一些内容。现在,由于用户尚未针对SP1(尚未设置的SP1的cookie)进行身份验证,使用ajax连接,它将被重定向到IDP,后者在设置SP1 cookie后又将整个页面重定向到SP1。
如果我使用IFRAME,一切正常,因为重定向和后向重定向发生在iframe内,并且SP1 cookie已设置,用户仍然在SP2登录页面上。
有没有人遇到过类似的问题。截至目前,我已通过隐藏的iframe解决了这个问题。但寻找永久的解决方案。
答案 0 :(得分:0)
所以我使用少量重定向解决了这个问题,并且工作正常。
在SP2的登录页面创建了一个重定向页面说(takeBack.html),在SP1内的takeBack.html中将其重定向回SP2实际主页。
<!doctype html>
<html>
<head>
<title>Login</title>
</head>
<body>
<script>
var goto = 'http://SP1domain.com/takeBack.html';
window.open(goto, '_self');
</script>
</body>
</html>