可以在Angular4水疗中心内使用Shibboleth吗?
我的场景如下:我有一个SPA,无需登录即可全局访问。某些页面只能在使用Shibboleth登录后访问。因此,我想通过Shibboleth对用户进行身份验证,并为用户生成一个JWT,用于根据为受保护页面提供内容的API进行身份验证。
我面临的问题是,用户必须导航到服务提供商上的shibboleth登录页面,然后离开SPA登录。所以我可以在一个受shibboleth保护的网站上创建一个JWT,比如 /shibprotected/getJWT
/shibprotected/getJWT
我可以使用Cookie执行此任务吗?
最后,我使用以下设置管理任务:
<a href="authService.getLoginUrl('/currentpage')">Login</a>
getLoginUrl(returnUrl = '') { if (returnUrl === '' || returnUrl.startsWith('/')) { returnUrl = window.location.origin + returnUrl; } return environment.backend_server_url + '/shibprotected/getJWT?return_url=' + encodeURIComponent(returnUrl); }
在里面 /shibprotected/getJWT (这是同一服务器上通过shibboleth保护的页面)我生成JWT并将其设置为cookie。然后我重定向到return\u url:
setcookie("token", $token); header("Location: " . $return_url);
document.cookie