【问题标题】:How to check whether exists CAS token如何检查是否存在 CAS 令牌
【发布时间】:2021-06-03 05:12:33
【问题描述】:

大家,我想问一下是否可以检查 CAS 中是否存在令牌 我有 2 个应用程序,登录时它都会从 CAS 登录,然后可以从 app1 到 app2 或从 app2 到 app1 进行 SSO

app1:www.test.com

app2:www.test.com/main

CAS:www.test.com/cas

我想要的是,如果app1或app2被重定向到CAS登录页面,我如何检查它是否登录到CAS,例如如何使用springboot检查是否存在令牌,任何CAS api都可以检查这个,谢谢你的帮助

【问题讨论】:

    标签: spring-boot cas rest


    【解决方案1】:

    更传统的方法是尝试利用 CAS 协议的网关功能:

    如果设置了此参数,CAS 将不会要求客户端提供凭据。如果客户端与 CAS 有预先存在的单点登录会话,或者可以通过非交互方式(即信任身份验证)建立单点登录会话,CAS 可以将客户端重定向到服务指定的 URL参数,附加一个有效的服务票证...如果客户端没有与 CAS 的单点登录会话,并且无法建立非交互式身份验证,CAS 必须将客户端重定向到服务参数指定的 URL,没有“票证” ” 附加到 URL 的参数。

    基本前提是收到来自 CAS 的票证表明有效的 SSO 会话,而它的缺席则表明其他情况。在这种情况下,CAS 确实会尝试验证和验证与 CAS cookie 关联的 SSO 会话,以确定是否应该签发票证。

    虽然这适用于某些场景,但它非常健谈并且确实涉及相当多的来回。作为替代方案,另一种方法是在 CAS 内构建一个特殊的端点,该端点对 REST 更友好,以检查 SSO 的状态,而无需像 302 重定向那样涉及浏览器,也无需隐含假设 CAS 协议作为中介。请注意,使用这种新方法的一个警告是,调用者(我们的应用程序)需要访问 CAS 特殊 cookie 才能将其传递到我们的端点,以进行后续处理和报告 SSO 会话状态。

    参考:https://fawnoos.com/2019/06/14/cas53x-userlogin-ssostatus/

    【讨论】:

      猜你喜欢
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 2020-06-05
      • 2015-06-18
      相关资源
      最近更新 更多