app如何保持一次登陆后持续保持session状态

app 登陆一次后 以后打开app不用登陆就能操作接口 session状态一直保持

我想象的是这样实现,不知道对不对 影响大不大,第一次登陆成功后返回token给客户端,客户端存放到Local Storage中,等下次打开app时,在app启动图静默访问验证token的接口,如果token验证成功,就解析token里面的user_id重新保持至session。

但是这样的话安全方面,有没有什么影响呢。

阅读 5.3k
4 个回答

基本合理,一点小修正,最好让服务器端验证token,客户端不要做任何验证和解析动作,如果需要用户信息,都从服务器端返回就好,客户端仅把token当作无意义乱码保存比较好,这样安全一些。

首先需要明确的一点是,你不需要去关心 session

可能你以前做的都是 web 方面的开发,对于 web 我们记录登录凭证一般都是采用 session
所以当你做接口开发时,第一时间想到的也是 session

在 App 中,所有请求都是无状态的,所以大家一般会采用 token 的方式来校验登录

在客户端请求登录接口时,返回一个生成好的 token

在请求需要登录接口的时候,客户端直接把这个 token 传给后端

后端主要干的两件事情

  1. 校验 token 是否正确 (也就是你的解出 user_id )
  2. 校验 token 是否过期

如果上面校验正确,就认为用户已经登录成功~

对于这方面的介绍,你可以简单了解一下 jwt

1.对token的进行设置,比如md5+加盐,然后可以弄时间戳做随机性,并保存到一定时间到session,但一般来说要高安全性的,每次请求都是唯一的token随机性传给客户端,这样就增高安全性;
2.可以进行sign签名。

jwt.io 了解下,每次对token处理就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题