@kinghan
2015-03-02T02:25:10.000000Z
字数 771
阅读 3065
MoreTV 账号系统 整体架构 SSO流程及规范

注解:
- bbs与account作为uc_server的应用接入,其与uc_server的通信数据是经过应用的key加密过的
- uc_server的avatar.php与admin.php是唯一暴露在外网的接口
- 数据库的读写分离, 当前没有从代码层面考虑而是使用了mysql proxy(ameoba), 通过配置文件实现透明的读写分离
- 官网home是静态的,没有作为应用接入uc_server, 对用户登陆状态的判断是通过读取.moretv.com.cn的cookie来实现的


实现方案
- 其核心应用了cookie跨域的策略(P3P)
- 用户登陆的时候, 系统会向.jd.com域名中写入相关cookie
- 用户进入非jd.com的网站时,服务器端会读取跨域的cookie并为当前网站设置一份cookie
sequence diagram草图(供参考)

实现方案
- 每个系统都维护一套自己写cookie的逻辑, 不跨越读取cookie
- 子系统登陆的时候会跳转到account, 用户验证后会跳转到子系统传过去的callback, 然后子系统处理自己的cookie
sequence diagram草图(供参考)

优缺点
综合考虑京东和小米的多系统登陆退出策略, MoreTV初步的SSO规范如下:
- 与账号相关的网站都以子系统的形式接入uc_server
- 同一个二级域名的情况下, 采用写二级域名cookie作为实现方案
- 不同二级域名的情况下, 采用发送多个同步登陆退出作为实现方案
作者: king.han
2015 年 2 月 6 日
