统一登录常用的设计模式有哪些?在系统设计中常遇到统一登录的问题,尤其是在多种项目上统一登陆需要注意的要点有很多,因此就需要掌握一些设计的方法和技巧来兼顾多个项目。
在公司内部若有多个项目,每个项目都有登录,且多个项目想要共用一套账户体系时,一般都会设计一个统一登录服务来实现业务快速接入。下面小编介绍统一登录常用的设计模式和需要考虑因素:
需要具备的基本要素:
一个统一登录的登录流程:携带参数发起登录 > 统一登录认证 > 重定向业务后端地址 > 业务侧注入登录态 > 业务侧重定向到前端页面。
登录流程核心要点:
1、统一登录认证
按道理统一登录服务,不是随随便便一个业务都能接入的;比如公司外部的 恶意方坚决不能让它接入,所以统一登录必须要有来源的认证。需要接入的业务方,一般会给它分配appId和appSecret,appId用于识别业务,比如appId=1表示是采购平台,appId=2表示是审核平台。
appSecret是业务方秘钥,业务方需要使用密钥通过算法计算签名,只有统一登录服务才能解出这个签名,从而识别出是信任授权应用,应用认证才能通过。当应用认证通过后,开始校验用户,如果是新用户注册,就把业务appId和用户信息写入数据库;如果是老用户则直接校验数据库数据,用户校验成功后,整个认证成功。
2.、认证成功后的跳转
当认证成功后,统一服务会发起业务侧url跳转。业务方携带参数发起登录,这里的参数一般都有哪些呢?appId、签名、用户信息、个性化数据、重定向地址 (appId和签名上面已经说明用途)。
重定向地址用于认证成功后的业务跳转,一般是业务端的后台地址,统一登录会把用户的信息透传给业务侧,业务侧一般会做:登录态注入相应的业务域名和做一些用户数据初始化的操作。个性化数据有什么用?当你访问一个页面时,登录态失效后会自动退出到登录页面,当再次登录成功时,按道理最好是跳转到当初退出时的具体页面。
个性化数据就是用于存放这个登录退出前的前端页面地址,统一登录会透传这个个性化数据到业务侧,业务侧注入登录态成功后,会跳转到这个前端页面。当然个性化数据还可以放置其他的一些业务侧数据。
3、异常处理
统一登录的过程可能会有以下的异常,要注意做好错误码和错误提示的返回。应用未登记指的是业务侧没有获取统一登录服务授权的appId和appSecret;用户已存在指的是数据库里已经存在同一个用户;用户注册信息不合法;认证超时;统一登录的登录认证一般都会做 “防重放” 的防御,意思就是业务侧发送的签名是有有效期的(有效期一般按秒计算),是为了防止恶意用户利用算好的签名重复多次登录。
统一登录设计需要注意统一登录认证、认证成功后的跳转、异常处理等各个环节的问题。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
北京产品经理培训费用多少?
在互联网经济飞速发展的背景下,我们接触到的互联网产品越来越丰富。而这些产品从策划、设计到研发,再到迭代更新,都是由产品经理岗位来促成以及整体把控的。也因此产品经理岗位成为许多年轻人追逐的目标。为了帮助更多的年轻人实现技能与岗位的突破,产品经理培训营运而生,那现在北京产品经理培训费用是多少呢?
2967
2019-09-19 18:35:31
有没有好的产品经理培训机构推荐?
产品经理是互联网诸多岗位中的热招岗位之一。在产品经理职场价值以及高薪资的刺激下,越来越多的人想通过培训键入产品经理岗位。但是面对现在市场上诸多的产品经理培训机构,求学者很难抉择。那现在有没有好的产品经理培训机构推荐?
3879
2019-09-20 18:14:43
产品经理机构对比博学谷课程有什么优势?
现在产品经理培训机构有很多,很多想学习产品经理课程的同学们在学习前都需要慎重的选择,一般是通过产品经理培训机构之间的优势对比、口碑以及品牌三个方面深入了解的。产品经理培训机构对比中,博学谷课程有什么优势呢?
2810
2019-09-23 18:09:34
在成都有比较好的产品经理培训吗?
在成都有比较好的产品经理培训吗?在互联网市场的蓬勃发展下,作为我国西南经济文化中心的成都同样乘着互联网发展的大风扶摇直上。在成都产品经理相关人才也是非常急缺,薪资水平直追国内部分一线城市。目前在成都也有很多比较优质的产品经理培训学校。
4590
2019-09-24 19:11:38
产品经理实战项目课程推荐
本文将为大家推荐一个产品经理实战项目课程——直播服务平台项目实战。通过对实际发版上线的在用直播服务平台,进行全方位的功能拆分及设计思路讲解,使学员充分掌握直播服务平台的基础沟通、核心业务逻辑、功能设计思路及深层的逻辑间内在联。一起来看看具体的课程内容吧~
2708
2020-05-12 16:18:01
热门文章
- 博学谷狂野大数据学习效果好不好?课程怎么样?
- Redis持久化机制实现原理是什么?流程是什么?
- 万物互联是什么?会带来哪些改变?
- MySQL索引种类有哪些?底层实现原是什么
- 零基础转行IT互联网岗位月入过万需要多久?
- 从0搭建后端技术涉及到哪些知识点?
- 疫情下的医疗行业如何快速响应的?互联网技术功不可没
- 深度学习框架智能时代的操作系统是什么?
- 程序员第一次做项目是什么感受?需要注意什么?
- 新媒体运营思维的核心概念知识点有哪些? 查看更多
扫描二维码,了解更多信息
