一.项目中常见的登陆方式:
1. 账号密码登录
在用户点击登录时,收集
用户输入的账号和密码,发送给后端与数据库中的数据对比验证
,比较用户是否存在,密码是否正确;都 OK 就向用户发送登陆成功的信号和用户信息
2. 手机验证码登录、邮箱登录
用户点击发送验证码,前端就把手机号
传给后端,让后端生成一个随机数
,然后把手机号码和完整的短信内容发送给第三方短信平台,在第三方短信发送成功的回调里把手机号和随机数储存到数据库中
;用户收到短信后点击登录,前端收集手机号和验证码传给后端和数据库进行对比,验证成功就返回登录成功和用户信息等
3. 第三方登录(微信)
第三方账号登录都需要去申请授权
;
用户点击第三方登录时,前端调用接口获取第三方登录页面的链接地址
(拼接了后端加密过后的签名、登录成功后的回跳地址(redirect_uri)
等)
比如点击QQ登录的话,就直接跳转到后端返回的第三方登录链接
二.验证登录方式的方法
- Cookie + Session
- 首次登录验证成功之后,
后端
会创建一个Session 对象
并保存到缓存或者数据库里 - 然后在
响应登录接口的响应头
里,设置 Set-Cookie 字段,并把 SessionId 等信息写入进去,并设置过期时间ÿ