CAS 与 SAML 之间有什么关系?

What is the relation between CAS vs SAML?

我知道 CAS 和 SAML 是用于单点登录目的的不同协议,但是让我感到困惑的是 "CAS has an SAML implementation".

的文章

CAS 和 SAML 不是实现单点登录的不同方式吗?

比方说,客户的企业有一个 SAML 服务器,但是第 3 方网站说他们支持基于 CAS 的 SSO。在这种情况下,最终用户最初会登录到企业系统。访问第 3 方网站时,它会连接到企业 SAML 服务器以查找 SAML 断言吗?


  1. What exactly is the relation between CAS and SAML ?

  2. Where exactly would CAS come in the above said set-up ?

有 CAS,协议。然后是 CAS,实现该协议和许多其他协议的软件。

软件位于: https://github.com/apereo/cas

注意自述文件:"CAS is an open and well-documented authentication protocol. The primary implementation of the protocol is an open-source Java server component by the same name, hosted here."

许多软件产品,如 Apereo CAS 服务器,同时支持多种协议。所以Apereo CAS软件可以同时支持CAS、SAML2和OAuth等协议。例如,Shibboleth IdP 可以同时支持 SAML2、SAML1 和 CAS。

所以你的问题是:

Aren't CAS and SAML different ways of how Single Sign-on can be implemented ?

是的,它们在很多方面都是不同的协议,提供或实现相同的功能。

Where exactly would CAS come in the above said set-up ?

SAML 服务器还需要支持该第 3 方网站的 CAS 协议,或者您需要一个单独的 CAS 部署,将身份验证委托给 SAML 服务器……或者它不会发生。

虽然接受的答案是准确的,但并不完整。 CAS 3.0(协议)规范直接合并了 SAML 1.1 消息。它们用于与 /SAMLvalidate 端点交互,如下所述:https://apereo.github.io/cas/5.0.x/protocol/CAS-Protocol-Specification.html#42-samlvalidate-cas-30