单点登录
单点登录的英文名叫做:Single Sign On(简称SSO),指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的系统。简而言之,多个系统,统一登陆。
SESSION + COOKIE 模式
特点:
- 一个独立的认证中心控制各个系统所有用户的登录状态;
- 认证中心的压力很大,可能要为十几个系统或者百万,千万数量的访问;
- 认证中心有挂掉的风险,还需要做容灾;
- 当子系统用户规模扩大时,与认证中心的访问频率激增,倒逼认证中心也必须扩容;
TOKEN 模式
特点:
- 认证中心只负责首次登录;
- 子系统拿到token后自己确认登录状态;
- 认证中心失去对用户的控制,无法让用户下线
TOKEN + REFESHTOKEN 模式(双TOKEN模式)
特点:
- TOKEN的过期时间很短(10-20分钟),REFESHTOKEN的过期时间比较长(1周+);
- TOKEN用于与子系统的访问,子系统自行验证;
- TOKEN过期后,使用REFESHTOKEN与相应接口从认证中心更新TOKEN,使的认证中心拥有对用户的控制