用户请求一个登录的API,帐号密码验证通过后会返回一个token,
这个token是短时有效(1个小时,并不是长期有效或者永久有效),如何在一个小时后用户不需要主动输入帐号密码,也能维持登录状态。
我的思路是将token以及帐号密码数据存储到本地,每次访问接口时将这些数据提交给服务端验证,如果token失效了,则利用存储的帐号密码向登录API发送一次请求,然后再将新的token替换掉失效的。
不知道各位在这方面有没有更好的方案,感觉我想的这个不安全。(除了用户主动退出外)
用户请求一个登录的API,帐号密码验证通过后会返回一个token,
这个token是短时有效(1个小时,并不是长期有效或者永久有效),如何在一个小时后用户不需要主动输入帐号密码,也能维持登录状态。
我的思路是将token以及帐号密码数据存储到本地,每次访问接口时将这些数据提交给服务端验证,如果token失效了,则利用存储的帐号密码向登录API发送一次请求,然后再将新的token替换掉失效的。
不知道各位在这方面有没有更好的方案,感觉我想的这个不安全。(除了用户主动退出外)
如果你在客户端要存账号密码的话,还用token做什么?
使用token的作用不正是用来登录验证的吗?
建议:
客户端不要保存账号密码,只保存token
如果要自动刷新token时效,可以每次验证的时候查询一下有效的时长,在有效期小于10分钟(这个时间自己定,不能太长)时刷新。
3 回答1.4k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
客户端不应该存储 用户的用户名与密码, 所以刷新这个功能要使用 刷新token 来实现.
正确的流程:
客户端请求权限->服务端返回 token & 刷新token->客户端token到期->客户端通过刷新token进行刷新->服务器端再次返回新的 token & 刷新token
刷新token 没有时效性, 他的改变只有在新的token与刷新token请求时才会变化