正在回答
2回答
以微信登录为例,微信端也会先给一个临时code,然后再根据这个code去过去用户登录会话以及信息,我们这里也是一个道理。临时票据的目的也就是发送端就是真正的请求端发起的。当然如果你自己设计的时候不想临时票据,直接获取的话,那也行。看自己的需求设计喽
陈增强
2023-05-20 19:48:08
你好,在CAS协议中,是需要根据全局门票去获取临时票据。然后再根据获取到的临时票据获取用户会话。因为用户会话是用户在业务系统中重要的凭证,如果根据全局门票就能直接获取到用户会话其实是很危险的。
我认为临时票据这个设计的精妙之处在于以下两点:
一、提高系统的安全性。我们服务器传临时票据给业务系统是通过“重定向”将临时票据带出去给业务系统的。如果我们在重定向之前对 returnUrl 的合法性进行校验(属于公司的地址才重定向),就能在一定程度上保证安全,因为是重定向到我们公司自己的地址。即使全局门票被泄露了,别人也无法轻易根据全局门票拿到临时票据,也就无法拿到用户的会话这种敏感信息。
二、单一职责。全局门票负责标识用户在CAS登录过。临时票据用于获取用户的会话信息。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星