下面我来说一下我自己的思路:
1.登录的时候,登录成功之后,我们需要给他分配一个token。(1)token可以是文件的形式存着;(2)也可以存在数据库,但是存放在数据库,我个人不推荐,因为每次调用api接口都会对比,这样做法会加重服务器压力;(3)用redis存放token。
我个人强烈推荐的用redis,其次就是文件形式。今天我们重点说文件形式(放在下文去讲),不管什么形式,都一样的思路。
2.登录之后,我们要返回token,让安卓或者ios去保存这个token,以后每次操作都携带token去请求接口。
3.接下来就是我们要用它传给我们的token去对比,如果符合,那就正常返回数据,否则就返回一个标识,告诉app说这个token不符合,需要重新登录。我所有返回的接口方式都是统一的,例如:
我事先会告诉app前端,告诉他们说,如果是code等于1就说明返回的参数是正确的。等于0就弹出msg等等。。。还有一个很重要的,就是code等于10000就跳到登录页面。
exit( json_encode(array('code'=>'10000','msg'=>'请先登录!')) ); //token失效了或者token不对上面的代码只是提供参考。exit( json_encode(array('code'=>'0','msg'=>'参数无效')) );exit( json_encode(array('code'=>'1','msg'=>'请先登录!','data'=>array())) ); //成功了,data就是返回的数据
基本流程就是这样,接下来说的就是真正实现这个token了,token需要有哪些参数构成。(前面我说了,重点讲的是文件形式,或者你们也可以用来缓存在本地,方法大同小异,总之不建议放在数据库),不多说,直接贴代码
1.生成token的流程:每个用户,都只能有一个token文件,生成之前删除掉以前的token,避免冗余文件。
/*
<

本文探讨了App登录过程中token的设计,建议使用redis或文件存储,而非数据库。重点讲述了文件存储方式下的token生成和验证流程,包括登录后返回token、接口验证token、token过期处理等,强调了代码中时间校验和文件管理的重要性。
最低0.47元/天 解锁文章
428

被折叠的 条评论
为什么被折叠?



