(1)sso单点登录系统,承接用户的登录请求
(2)uuap.core服务。承接具体的认证请求(用户名密码认证、beep认证、token认证、自有账号认证等)
(3)session服务,用户在线状态查询服务。

p_token:存放在baidu.com及baidu-int.com域名下面(浏览器全局共享)。
s_token:存放在具体的下游系统域名下面(站点私有)
u_token:存放在uuap.baidu.com域名下面(uuap私有)

4、uuap登录的详细流程
1、用户访问接入uuap的下游系统xx.baidu.com,例如family.baidu.com。
2、下游系统后端server从cookie中获取pToken及sToken,校验是否同时存在,不同时存在直接重定向用户到uuap登录接口认证。
pToken:存在于baidu.com(baidu-int.com)域名下,cookie的名字为UUAP_P_TOKEN,线下环境统一为UUAP_P_TOKEN_OFFLINE
sToken:存在于下游系统的域名下面、该值为uuap认证成功后签发的ticket参数、下游系统获取后将其存入您的域名下,有效期30天、该值通用名称为UUAP_S_TOKEN
3-1、如果pToken及sToken同时存在,则将pToken、sToken及您的appKey作为参数,发送POST请求到UUAP-SESSION的Session登录校验校验用户是否正常登录,如果正常登录返回登录用户的基本信息,未正常登录则返回状态码204,重定向用户到uuap登录接口认证
3-2、如果pToken跟sToken不是同时存在,下游系统直接重定向用户到uuap登录接口认证。
4、如果UUAP-SESSION返回用户登录成功并且返回登录用户的基本信息,下游系统可允许用户访问受保护的内容。
5、如果UUAP-SESSION返回状态码204,则按照3-2的步骤,下游系统直接通知前端跳转UUAP-SSO认证服务器认证。
6、下游系统携带service及appKey参数,访问UUAP-SSO的uuap登录接口接口请求用户认证。
service:第1步中用户访问的下游系统的url,请对该url进行urlencode
appKey:uuap签发的下游系统唯一id
7、UUAP-SSO认证服务器认证通过会在baidu的根域名下植入pToken的cookie,并且会在用户传递的service回调地址后面追加ticket参数通知用户跳转,下游系统server可获取该参数,调用SToken置换接口获取SToken,将其以cookie的形式存入你们的域名下,该值就是sToken。
cookie植入成功后要在之前访问url的基础上去除ticket参数让用户重新302访问一次,这样就能防止server看到访问url中存在ticket参数关键字陷入反复植入sToken的死循环,跳转后用户重新从第1步执行。
8、认证失败,跳转错误页面。
如果下游系统对SLA要求比较很高,可以在3-1步骤自己使用缓存,而不用每次用户访问都请求UUAP验证pToken,sToken ,进而达到用户状态session下游系统自治的目的。
参考:一篇文章彻底弄懂CAS实现SSO单点登录原理 - Hi,王松柏 - 博客园