单点登录(Single-Sign-On,SSO),即用户的一次性鉴别登录。当用户在身份认证中心登录一次以后,即可获得访问单点登录系统中,其他关联系统和应用软件的权限。这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个拥有着不同的认证与授权模式应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统,不再需要记忆多个不同的用户名与密码。
在一个单位中,需要使用多个功能不同的系统应用,比如财务系统,销售的CRM系统,人事的OA、邮箱系统,如果每个系统都用独立的账号认证体系,会给员工带来很大困扰,不方便管理。所以需要设计一种统一登录的解决方案。
本系统提供两种类型的单点登录协议,使用时需具备两套本系统,一套作为Client端,一套作为Server端。
CAS全称为Central Authentication Service,即中央认证服务,是为应用提供可信身份认证的单点登录系统,CAS本身没有授权,也没有权限控制功能。
CAS包含两部分:
CAS Server:CAS Server负责完成对用户的认证工作,需要独立部署,CAS Server会处理用户用户名/密码等凭证。
CAS Client:负责处理用户对客户端的访问请求,当需要对请求方(即用户)进行身份认证时,会重定向到CAS Server进行认证。
需配合OAuth 2.0使用,是一种认证与授权标准,称为OpenID Connect(OIDC)。
OpenID是Authentication,即认证,对用户的身份进行认证,判断其身份是否有效,也就是让网站知道“你是你所声称的那个用户”。用户要使用OpenID就必须在OpenID身份服务器上注册OpenID账号。
OAuth是Authorization,即授权,在已知用户身份合法的情况下,经用户授权来允许某些操作,也就是让网站知道“你能被允许做哪些事情”。
OPENID包含三部分:
OPENID Server:OPENID Server负责完成对用户的认证工作,需要独立部署,OPENID Server会处理用户的用户名/密码等凭证。
OAuth2.0:在OPENID Server的OAuth2.0协议中对接OPENID Client信息,OAuth2.0将自动为Client生成client id和client secret。
OPENID Client:负责处理用户对客户端的访问请求,当需要对请求方(即用户)进行身份认证授权时,会重定向到OPENID Server结合client id和client secret进行认证授权。