相关疑难解决方法(0)

使用CAS或OAuth进行SSO?

我想知道是否应该使用CAS协议或OAuth +某些身份验证提供程序进行单点登录.

示例场景:

  1. 用户尝试访问受保护资源,但未经过身份验证.
  2. 应用程序将用户重定向到SSO服务器.
  3. 如果通过身份验证,则用户从SSO服务器获取令牌.
  4. SSO重定向到原始应用程序.
  5. 原始应用程序根据SSO服务器检查令牌.
  6. 如果令牌没问题,将允许访问,并且应用程序知道用户ID.
  7. 用户执行注销并同时从所有连接的应用程序注销(单点注销).

据我所知,这正是CAS发明的.CAS客户端必须实现CAS协议才能使用身份验证服务.现在我想知道在客户(消费者)网站上使用CAS或OAuth.OAuth是CAS的那部分的替代品吗?OAuth作为新的事实上的标准应该优先考虑吗?是否有一个易于使用的(不是Sun的OpenSSO!)更换为CAS支持不同的方法,如用户名/密码,OpenID的,TLS certifactes认证部...?

语境:

  • 不同的应用程序应该依赖于SSO服务器的身份验证,并且应该使用类似会话的东西.
  • 应用程序可以是GUI Web应用程序或(REST)服务.
  • SSO服务器必须提供用户标识,这是从中央用户信息存储获取有关用户的更多信息(如角色,电子邮件等)所必需的.
  • 单签出应该是可能的.
  • 大多数客户端都是用Java或PHP编写的.

我刚刚发现WRAP,它可能成为OAuth的继任者.这是微软,谷歌和雅虎指定的新协议.

附录

我了解到OAuth不是为验证而设计的,即使它可用于实现SSO,但只能与OpenID等SSO服务一起使用.

OpenID在我看来是"新CAS".CAS具有OpenID未命中的一些功能(如单点注销),但在特定场景中添加缺失部分并不困难.我认为OpenID已被广泛接受,最好将OpenID集成到应用程序或应用程序服务器中.我知道CAS也支持OpenID,但我认为CAS对OpenID来说是可有可无的.

security cas oauth single-sign-on

177
推荐指数
5
解决办法
7万
查看次数

标签 统计

cas ×1

oauth ×1

security ×1

single-sign-on ×1