flutter 关于保持登录的一些问题
服务端采用 oauth 的 app 第一次登录后要保持登录状态,网上查的大多是用 share_preferences 这个包将登录后获取到的数据(主要是access_token 和 refresh_token )存储起来,这个移动端桌面端都差不多。在 sp 中存储 refresh_token 可以保持在一段时间内为登录状态,但 refresh_token 毕竟是有有效期,可能为半个月或一个月,用这种办法则这种保持登录的状态的周期就是 refresh_token 的有效期 。我看市面上的应用这种保持登录的状态可以保持好几个月甚至以年计。那么我的问题来了:
- 若要延长这种保持的状态,是否就只能延长 refresh_token 的有效期这一个办法?不是说 refresh_token 时间过长是极不安全的吗?
- 这里边便利性与安全性的取舍该注意些什么?
- 或者另有其他的办法来实现这种保持登录的机制?
refresh_token 过期后可以设置是否使用,拦截状态码,refresh_token 过期后自动刷新就可以了!