5
使用CAS或OAuth进行SSO?
我想知道我是否应该使用CAS协议或OAuth +一些身份验证提供程序进行单点登录。 方案示例: 用户尝试访问受保护的资源,但未通过身份验证。 该应用程序将用户重定向到SSO服务器。 如果蜜蜂通过了身份验证,则用户将从SSO服务器获取令牌。 SSO重定向到原始应用程序。 原始应用程序针对SSO服务器检查令牌。 如果令牌正常,则将允许访问,并且应用程序知道用户ID。 用户执行注销,并同时从所有连接的应用程序中注销(单次注销)。 据我了解,这正是CAS发明的目的。CAS客户端必须实现CAS协议才能使用身份验证服务。现在,我想知道要在客户端(消费者)站点上使用CAS还是OAuth。OAuth是否可以替代CAS的那部分?是否应首选OAuth作为事实上的新标准?是否有易于使用的(不是Sun OpenSSO!)替代CAS的身份验证部分,支持不同的方法,如用户名/密码,OpenID,TLS证书...? 内容: 不同的应用程序应依赖SSO服务器的身份验证,并应使用类似于会话的内容。 这些应用程序可以是GUI Web应用程序或(REST)服务。 SSO服务器必须提供一个用户ID,这对于从中央用户信息存储中获取有关用户的更多信息(例如角色,电子邮件等)是必需的。 单点退出应该是可能的。 大多数客户端都是用Java或PHP编写的。 我刚刚发现WRAP,它可以成为OAuth的后续产品。它是Microsoft,Google和Yahoo指定的新协议。 附录 我了解到,即使OAuth可以用于实现SSO,也不是为身份验证而设计的,而只能与OpenID之类的SSO服务一起使用。 在我看来,OpenID是“新CAS”。CAS具有一些OpenID遗漏的功能(例如单点注销),但是在特定情况下添加遗漏的部分并不难。我认为OpenID已被广泛接受,最好将OpenID集成到应用程序或应用程序服务器中。我知道CAS也支持OpenID,但是我认为CAS与OpenID无关。