我知道CAS和SAML是用于单点登录目的的不同协议,但令我困惑的是那些说“CAS具有SAML实现”的文章。
CAS和SAML不是可以实现单点登录的不同方式吗?
可以说,客户的企业有一个SAML服务器,但第三方网站说他们支持基于CAS的SSO。在这种情况下,最终用户最初将登录到企业系统。访问第三方网站时,它是否会连接到企业SAML服务器以寻找SAML断言?
- CAS和SAML之间究竟有什么关系?
- CAS在上述设置中究竟在哪里?
有CAS,协议。然后是CAS,实现该协议的软件以及许多其他协议。
该软件位于:https://github.com/apereo/cas
请注意README:“CAS是一个开放且记录良好的身份验证协议。协议的主要实现是一个同名的开源Java服务器组件,在此托管。”
许多软件产品,如Apereo CAS服务器,同时支持多种协议。因此Apereo CAS软件可以同时支持CAS,SAML2和OAuth等协议。例如,Shibboleth IdP可以同时支持SAML2,SAML1和CAS。
所以你的问题是:
CAS和SAML不是可以实现单点登录的不同方式吗?
是的,它们在许多方面都是不同的协议,提供或实现相同的功能。
CAS在上述设置中究竟在哪里?
SAML服务器还需要支持该第三方网站的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