一、介绍
最近在做OA联合认证登陆功能,即和各个云厂商建立CAS服务,云厂商为CAS的客户端,IDP为我们搭建的服务端,大致的流程是:
1、用户通过IDP登陆各个云厂商;
2、IDP进行验证是否登陆过,如果没有则跳出登陆页面,有的话直接跳转到厂商的登陆页面;
二、CAS原理
CAS系统有两部分组成,分别为cas server和cas client, 这两个物理部件之间可以通过多个协议进行交互。
CAS 服务端
CAS服务端是用springframework建成的java servlet,主要任务是认证用户登录和授权启用CAS的service(简称cas 客户端)。而这种认证主要是通过下发和验证tickets实现的。在用户成功登陆之后,CAS服务端会生成一个ticket-granting ticket(TGT)和建立一个SSO的session。通过服务器的转发,将service ticket(ST)发给发出cas请求的服务。这个ST就会在接下来的这个会话中使用,如果需要CAS验证,就把这个ticket发给server,然后server给予反馈。
CAS 客户端
CAS客户端主要两种不同的实现。一个CAS客户端可以是通过CAS支持协议进行交互的任何应用。一个CAS客户端也可以是一个软件安装包,可以与其他软件集成在一起进行CAS验证。