作为一名萌新,刚入坑掉发行业,对SSO(Single Sign on) ,即单点登录,专业术语有点难懂,下面是本人的一些看法,如有不妥之处,请各位大神多多指教(手下留下,使劲踩,滑稽.jpg)。
作用:使得用户能够拼接一个身份,就能访问不同的服务,嗯哼,可以理解生活中,比如个人凭借身份证可以访问享受不同的服务。
好处:避免了重复的开发,提升用户体验。
术语:
- Client :用户
- Server:中心服务器
- Service:不同的服务
票据:
TGT:Ticket Granting Ticket
中心服务器(Server)给用户签发的登录凭证(Ticket),用于判断用户登录是否成功的唯一方式;
假设此时你要去HK,可以理解成TGT就是行政管理中心给你签发的凭证-港澳通行证;
TGC:Ticket Granting Cookie
CAS为用户签发了TGT之后,将TGT存放在SESSION中,那就有一个标识符(Session ID)跟TGT的相对应,这个标识符就是TGC。
比如,你去行政管理中心续签港澳通行证之后,假设你的续签信息用另外的标识符表示你完成了续签的操作。
ST:Service Ticket
用户访问某一服务时提供的Ticket。比如你访问HK or 澳门。
流程:
用户(你)想去HK或者澳门旅游 --> 用户(Client)访问服务(Service)。
海关查询到你没有港澳通行证没有次数或者没有港澳通行证 --> 服务(Service)查询到你没有ST参数。
海关叫你去行政管理中心续签 --> 重定向到CAS认证中心,进行登录。
用户(你)办理完续签手续 --> 完成登录操作。
行政管理中心签发续签后的港澳通行证给你 --> CAS给用户(Client)签发TGT
行政管理中心把续签后的信息用另外的标识符标记起来,表示你完成了续签的操作 --> 生成TGC
你拿着续签后的港澳通行证再次去海关 --> 重定向到海关服务,重新访问Service
海关检查你的港澳通行证是否有续签以及个人信息 --> 海关发现有续签的记录以及个人信息,就想CAS服务器请求验证是否通行证信息是否有效
有效 --> 可以过关