关于 webapi 保持客户端登录
怀谨 2016-12-26 07:10:46 客户端是android;
服务端是webapi;
当我android登录之后,服务端会返回登录信息(包含token);
android保存登录信息至本地,此后就不需要再进行登录;
然后每次请求api 带上 token ,验证用户;
那么我问题来了,如果我把token 存数据库 ,那岂不是每次访问请求都需要去数据库验证用户?如果我把token存se ssion,那这个session 丢失怎么办?还有需要设置很长的效期?
各位老司机有没有更好的想法?
补充:
我说的token 存session 的意思是,数据库存一个token,session 存一个token;
用户首次登录后,把token存入数据库,并存入session中。然后session 过期前,这个用户的所有请求都通过session的token来 验证身份。当session失效后,app (后台服务)重新登录一次(用户不可见);把数据库的token拿出来存入session;然后继续操作;
客户端请求接口的时候会带上token,在调用资源前 拿服务器的token(存在session里的) 跟 客户端的token 匹配;而不是每次都 从数据库里拿出来;