代码之家  ›  专栏  ›  技术社区  ›  jannis

角度单页应用程序(SPA)的Shibboleth身份验证

  •  4
  • jannis  · 技术社区  · 8 年前

    可以在Angular4水疗中心内使用Shibboleth吗?

    我的场景如下:我有一个SPA,无需登录即可全局访问。某些页面只能在使用Shibboleth登录后访问。因此,我想通过Shibboleth对用户进行身份验证,并为用户生成一个JWT,用于根据为受保护页面提供内容的API进行身份验证。

    我面临的问题是,用户必须导航到服务提供商上的shibboleth登录页面,然后离开SPA登录。所以我可以在一个受shibboleth保护的网站上创建一个JWT,比如 /shibprotected/getJWT

    我可以使用Cookie执行此任务吗?

    1 回复  |  直到 8 年前
        1
  •  4
  •   jannis    8 年前

    最后,我使用以下设置管理任务:

    1. <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);
        }
      
    2. 在里面 /shibprotected/getJWT (这是同一服务器上通过shibboleth保护的页面)我生成JWT并将其设置为cookie。然后我重定向到return\u url:

        setcookie("token", $token);
        header("Location: " . $return_url);
      
    3. document.cookie

    推荐文章