SSO 系统两种方案,不知道大家是怎么设计的

2018 年 6 月 27 日
 jimisun

方案 1:

redis 存储格式:key(用户 Id123456789)  --- value(token)
使用方式:用户拿 id 和 toen 操作业务
示例:用户操作业务  
    判断用户 id 是否为空
        为空:未登录
        不为空:判断 redis 是否包含 id 为 123456789 的 key
            不包含:过期失效(跳转登陆)
            包含:验证 token 是否一致
                一致:操作业务
                不一致:异地登陆(重新登陆-覆盖 id
                为 123456789 的 token )

方案 2:

redis 存储格式:key(token )---value(用户信息)
使用方式:用户拿 uuid 操作业务
示例:用户操作业务
    判断 cookie 是否包含 token
        不包含:未登录
        包含:判断 redis 是否包含此 token
            包含:操作业务
            不包含:未登录

刚才想了想,这两种方案的差别是方案 1 不支持多端登陆,方案 2 支持多端登陆吧,问下大家在设计 SSO 系统是怎么设计的呢?或者说常用的方案是什么呢?不太了解公司是怎么用的,好奇问下。

983 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/466323

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX