首页 > 解决方案 > 如何在 Node.js 中检查 CAS 身份验证?

问题描述

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

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

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

感谢您的任何帮助。

标签: node.jsauthenticationcas

解决方案


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

到现在为止还挺好。

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

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

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


推荐阅读