APP登录流程规范
登录流程规范
登录需求
token储存前端有过期时间,token自动续期(用户无感知),长时间未使用需重新登录。
登录流程及前后端处理
- [前端]发起登录请求
- [后端]登录成功返回
{"httpcode":200,"err":0,"msg":"ok","obj":["token":{"access_token":"xxx","expires":7200}]}
,登录失败返回{"httpcode":200,"err":xxx,"msg":"xxx","obj":[]}
- [前端]登录成功,本地储存
access_token
,并根据expires
字段计算过期时间当前时间戳+expires
同时存储到本地。 - [前端]当请求业务接口时,先判断本地储存中是否有
access_token
,如果有,再判断expires是否过期
,如果expires未过期
在HTTP header
中携带access_token
信息,其格式为Authorization Bearer access_token
,如果expires已过期
那么跳转到登录界面。如果本地储存中无access_token
时,后端视其为游客登录。(这里流程比较复杂,见附录) - [后端]接收请求后,先判断是否有
access_token
,如果无
代表其是游客登录,根据接口的权限返回让用户登录或者提示或者显示内容。如果有
,先判断其是否有异常(数据被串改/格式是否正确),再判断是否超过expires过期时间
(如果超过,返回特殊错误码,让用户跳转到重新登录页面),都验证通过后,返回请求数据。
附录
前端每个次发起请求时,处理逻辑如下:
if(本地储存中是否有access_token) {
if(exp未过期`){
在`HTTP header`中携带`access_token`信息
}esle{
跳转到登录界面
清除access_token
}
} esle {
游客访问
}
最后更新于 2021-09-29 01:59:51 并被添加「」标签,已有 734 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处