如何在Node.js中检查CAS身份验证?

时间:2019-01-28 23:28:56

标签: node.js authentication cas

我必须开发一个应用程序,仅在用户登录后才能访问该页面。我们的组织使用CAS来保护页面,但是我不确定如何检查(如果使用的是Node.js)确实已登录。

我是CAS的新手,正在尝试了解如何进行。我知道用户登录后将在浏览器中收到授予票据的票证(TGT)cookie,并且CAS将以某种方式为单个页面创建服务票证(ST)。

我如何知道用户是否已通过身份验证?有没有一种特定的方法来验证用户是否拥有TGT?我要检查ST吗?如果我没有检测到任何故障单,该如何将它们定向到我们系统的CAS实例?

感谢所有帮助。

1 个答案:

答案 0 :(得分:1)

  

我是CAS的新手,正在尝试了解如何进行。我知道用户登录后将在浏览器中收到授予票据的票证(TGT)cookie,并且CAS将以某种方式为单个页面创建服务票证(ST)。

到目前为止,很好。

  

我如何知道用户是否已通过身份验证?有没有一种特定的方法来验证用户是否拥有TGT?我要检查ST吗?如果我没有检测到任何故障单,该如何将它们定向到我们系统的CAS实例?

如果您的应用程序没有会话,则需要使用服务参数将用户重定向到CAS登录端点,该服务参数充当应用程序的回调。用户登录后,CAS将使用服务票证重定向回服务参数。然后,您需要获取票证,请CAS服务器验证票证以换取用户信息/个人资料。

大多数这种交互通常是使用CAS客户端库处理的,您可以将其配置为为您处理验证和重定向。如果您四处搜索,您可能会找到与node.js一起使用的优秀CAS客户端。这可能是一个很好的起点:https://github.com/casinthecloud/nodejs-cas-client-demo