谈谈客户端对于Token过期的处理

来源:互联网 发布:查开放房记录软件 编辑:程序博客网 时间:2024/06/04 19:26

谈谈客户端对于Token过期的处理

在当前的开发中,大多数情况下,用户登陆成功之后,会有服务端下发一个Token作为用户的身份证明,其中包含了用户的部分个人信息,在以后的请求过程中,需要将该Token作为参数或者放在header里面发送给服务器作为身份验证的一个步骤,而这个时候,就会存在一个让开发者很头疼的问题,Token失效!
这边我们先抛开不谈Token的加密等问题,以及服务端如何保存Token以及有效期等问题,我们只考虑一个问题,我客户端某一个请求返回Token过期(失效),我该如何处理才能显的比较妥当?

这边我假设两种情况:
1、app必须登陆才能使用
2、app即使没有登陆部分功能也可以使用


app必须要登陆才能使用

这里写代码片该种情况并没有太多的选择余地,所有的接口必须依赖Token才能使用,这时候能做的就是弹出登陆界面,让用户登陆。问题是,用户登陆成功之后的刷新问题。1、在某些(基本上是大多数,特别是没有自带下拉刷新的界面),在will appear里面做网络请求2、通知。大多数情况下,我们会有一个baseVC的存在,定义一个“是否需要刷新”的变量,当用户登陆成功之后,发送一个登陆成功的通知,并在需要刷新的界面重新做请求3、建立一个专门管理Token过期API的类,在检测Token过期的情况后,劫持该API,登陆成功之后,重新发送该请求

app即使没有登陆部分功能也可以使用

这边涉及到一个问题就是,当Token过期弹出登陆界面之后,用户是可以取消登陆的,这时候如果在will appear里面做网络请求的话,并且用户一直选择取消,就会导致死循环。我这边的做法是:1、取消通知。定制一个参数,用来判断用户在没有登陆的情况下,是否可以进入该界面,如果不能接入,逐一返回上一个界面(因为在检测Token过期并弹出登陆界面的时候,这时候本地的Token信息理论上是应该被清除掉的)2、登陆成功通知。可以和上面必须登陆时候一样的做法3、同以上必须登陆的情况

以上是我在开发中对于Token过期的特殊处理,如果有问题,希望不吝指出。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脸上疤掉了有坑怎么办 结痂不小心抠掉怎么办 脸上肉松弛怎么办19岁 点痣留下来的疤怎么办 激光祛斑的红印怎么办 脸上疤掉了红印怎么办 痘痘发炎了红肿怎么办 脸上的斑越来越多了怎么办 点痣留下的疤痕怎么办 额头又高又大怎么办 脸太长额头太高怎么办 动车因台风停运怎么办 爸妈50了要离婚怎么办 鸿利彩票黑了钱怎么办 忘了锁屏图案怎么办 黄金被水银沾上怎么办 被股东了我该怎么办 异地恋没话题聊怎么办 谈了半年分手了怎么办 博士6年没毕业怎么办 发现孩子早恋家长应该怎么办 异地恋想嘿嘿嘿怎么办 妈妈溜冰溜大了怎么办 皮鞋被雨水泡了怎么办 老婆提出离婚我不想离怎么办 极度缺爱的人怎么办 生二胎住院大宝怎么办 爸妈偏心我该怎么办 无创21体高风险怎么办 无创检查高风险怎么办 唐氏筛查21三体高危怎么办 唐筛年龄高风险怎么办 21三体综合症高风险怎么办 朋友深陷李强365怎么办 飞机上烟瘾犯了怎么办 怀孕一个月吸烟了怎么办 烟瘾犯了没烟怎么办 押金交了不租了怎么办 买车首付款不够怎么办 双11订金不退怎么办 在商场买到假货怎么办