使用CAS实现跨SSO协议的登录持久性

3
我有一个现有的CAS4实例,正在使用CAS协议为多个Web应用程序提供SSO。CAS4和后续版本,包括CAS5,还支持其他SSO协议。CAS4支持SAML、OAuth2和OpenID 2.0。CAS5支持OpenID Connect等。
我想知道,如果一个应用程序通过CAS协议进行身份验证,而第二个后续应用程序通过SAML或OAuth2请求访问,第二个应用程序是否会被提示登录,即破坏“单点登录”功能/能力?
我真的希望“单点登录”伪会话跨越不同的协议。我的担忧是它不能这样做。

Apereo CAS 网站:https://www.apereo.org/projects/cas - Ryan R.
1个回答

2
CAS4支持SAML、OAuth2和OpenID 2.0。CAS5支持OpenID Connect等。更准确地说,CAS4对SAML1.1和OAuth2有基本支持,其SAML2支持仅限于处理与Google Apps的集成。一些人已经设法将其扩展到超出该功能,并将其转变为更通用的SAML2集成策略。另一方面,正如您所指出的,CAS5支持SAML2和OpenID Connect以及更改进的OAuth2版本。CAS协议和相关的REST API实现也在使用JWT作为服务票据等方面获得了相当多的改进。
我想知道如果一个应用程序通过CAS协议进行身份验证,而第二个后续应用程序通过SAMPL或OAuth2请求访问,第二个应用程序是否会被提示登录,即破坏“单点登录”功能/能力?
不会。这就是单点登录的目的。无论您使用什么协议,SSO /身份验证都将继续正常工作,因为这些是不同的子系统。讲话的协议语言、验证凭据的事情以及创建和管理SSO会话的事情都非常独立于彼此。如果您发现实践中相反的情况,那就是需要诊断的缺陷。
我建议您查看这篇博客文章:https://apereo.github.io/2018/02/26/cas-delegation-protocols/

非常好的答案。我有些担心cas4和oauth2的概念验证工作中,会话(ST - 服务票据)没有被共享。作为对您答案理解的跟进和确认,以下用例应该是有效的:用户通过OpenID Connect与App A登录到CAS5服务器。通过CAS协议自动登录到App B的第二个登录到CAS5服务器。您是否同意这符合CAS5的设计? - Ryan R.
1
当然,这一直(应该)是事实。 - Misagh Moayyed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接