网易云游戏网页登录(多个账户实现统一登录)

多个账户完成一致登录

一、称呼表明

这里的多账户区别于体系级别的,我们讲的多账户体系是指,在我们互联网使用中间,我们的使用会使用多个第三方账号举行登录,必需如今常用的APP(网易云音乐)登录办法包含:网易、微信、QQ

二、内容

经过这一篇文章, 可以学到:多用户底下的武艺方案细节,以及相应的表计划,流程计划。不成以:与其他文章一样,我这里不会有具体代码完成细节,方案做的对,代码咋写都不会太烂。

三、架构演进

3.1 创业初期

归结为创业初期是由于这个时分用户量比力少,乃至还没有接入外表所说的其他第三方的账户体系,只是自建的体系就可以满意,自建体系的话,现在常用的有

3.1.1 用户名暗码注册登岸

这种办法在很多初期网站建立会使用,先注册,再举行登录,在老一点的cms中都能找到这个影子。

流程图:

流程分析:

?前端将用户名、暗码发送到办事器,办事器举行常规的推断,推断用户名、暗码长度对否满意,用户名对否反复等条件,条件不经过直接前往对应错误码给到前端,这里暗码字段,为了避免传输历程中被截胡,发起加密再上传,我们的传输暗码默许都是会举行一个md5加密,然跋文录到数据库再举行一层加密,就算是脱库也没事,暗码不要明文存储。?校验通事后,就将用户名暗码写入数据库,并举行后方积分发放等利用,这里不掀开。?如今举行登录,前端将用户名,暗码发送给到办事端,办事端起首会校验登录次数对否凌驾设置的阈值,假如凌驾只能持续等候被关小黑屋。?假如未凌驾持续登录逻辑,推断用户名、暗码对否准确,不准确暗码则举行阈值的推断,假如凌驾则关小黑屋,记取小黑屋必需设置过时时间,要不然就会永世关闭了,这个可以用redis的过时来做。?登录告捷后举行后续的统统后置逻辑,好比加积分。。。等利用。

3.1.2 手机号注册登岸

流程图:

流程分析:

?起首输动手机号,然后发送到办事端,办事端将手机号纪录在我们数据库中,然后天生随机验证码,并将手机号和验证码绑定到一个redis内里,然跋文录过时时间,这个过时时间寻常是10分钟支配,这就是我们寻常手机验证码的好效期。?手机吸收得手机短信后,那么就在界面填写验证码发送办事端,办事端收到验证码后就会在redis内里查询到这个手机号对应的验证码,失败就前往错误码。?告捷后就举行登录利用。

这里看起来没有明白的注册登录利用,但是在发送手机号码就可以以为是一个常规的注册,然后后方的验证码输入就是一个登岸利用,

问: 那我要暗码咋办?

答: 在后续产物内里增长一个手机号码暗码补录的功效即可,这也是如今很常规的伎俩,但是如今挪动互联网大爆炸年代,暗码以前显得不是那么紧张了,横竖我向来记不住暗码,假如手机号码能利用的app,相对不必暗码来利用。

3.1.3 数据库计划

3.1.3.1 表布局


3.1.3.2 分析

?这里只是单纯分析必要用到的数据,没有扩展具体场景,这个表布局可以满意外表两个方案的计划。

3.2 引入第三方账户方案

这里是以QQ-SDK的登录逻辑, 我们先来一波时序图

分析:

?客户端本人调起登录的界面,举行输入用户名、暗码,这里的是第三方的用户名,暗码,登录告捷后,会前往access_token openid expire_in,这历程会使用到oauth2.0,不外表sdk内里举行内置回调获取了,后方我们会分析我们本身完成的oauth2.0?客户端拿到access_token、openid、login_type(qq、wechat...)哀求使用办事器,使用办事器拿到这些数据后就会依据对应的login_type去对应的用户中央举行access_token和openid举行校验。校验不经过则前往对应错误码?校验通事后就会推断当地对否有这个login_type和openid对否存在,不存在则举行获取长程的用户名、头像等基本信息来作为当地基本数据,并且前往code值?假如以前存在,那就是举行登录利用,前往code值。?客户端拿到code值后举行token值的互换,这个完全依照oauth2.0的协议来走的,后续每次哀求必需带上token,token值在办事端的时间比力久,由于我们想要做的是那种永不下线的利用,以是每次哀求我们都将token过时时间举行累加。

3.2.1 数据库计划

3.2.1.1 表布局

用户基本表(users)



用户验证关联表(user_auth_rel)



当地用户表(user_local_auth)



第三方用户表(user_third_auth)



3.2.1.2 分析

?users表只是单纯针对我们业务侧的登录,主要是做本身业务的oauth2.0业务,?user_local_auth是做本人用户名、暗码登录,手机号码登录信息纪录,?user_third_auth是我们第三方用户体系的数据纪录,?user_auth_rel是用来关联我们users表与user_local_auth、user_third_auth。?整个计划理念就是将自建用户与第三方在存储上区分,这在架构演进上也是切合真理的,开头用户体系大多自建,尔后才是对外接入。

四、总结

?总的来讲,第三方用户的接入武艺上去讲是比力简便的,这里计划多一个user_thirds是可以支持充足多的第三方接入,固然寻常我们也就两三个登录就好,太多登录方不仅本身维护本钱,界面摆盘也不佳看不是。?渴望各位可以经过以上学习,可以关于我们多账户登录有一个比力好的认知,这里计划方案不包含分表分库、没有办事化,就是简便直接的计划,固然用户量和必要的不一样,在这个基本上还要加很多东西,谢谢各位阅读!!!

网易云游戏网页登录(多个账户实现统一登录)

本站资源均来源于互联网,仅提供信息存储空间服务,用于学习交流,如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 dhh0407@outlook.com 举报,一经查实,本站将立刻删除。

本文链接:https://6wyx.com/post/243687.html

发表列表

评论列表

还没有评论,快来说点什么吧~