1、 首先你先了解一下相关概念: session机制
session机制博客
2、可以仿照 微信的做法。
思路:首次登录的时候用用户名、密码换取 和 refresh_token,以后不需要用户名密码,通过refresh_token去刷新access_token即可,重新登录同理,外加一个请求作用域scope基本是比较安全了。
- 添加一个refresh_token用于刷新access_token,就是用refresh_token换access_token。
- 或者给token增加过期时间提高安全性
- 保存一个标志到[NSUserDefaults standardUserDefaults]里面。设置完值以后要进行同步哦!你可以把失效时间同时存储进去,基本就是模仿cookie的行为。
个人总结:
- 个人认为不会直接保存登录状态,而是每次启动都需要到服务器去验证。
- 服务端生成一个唯一 token(令牌)给app,那么 app 每次启动都用这个token去服务端请求,如果成功,服务端给个新的token,如果失败,重新登录。还有就是这个token 设置一个过期时间。