谈谈客户端对于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过期的特殊处理,如果有问题,希望不吝指出。
阅读全文
0 0
- 谈谈客户端对于Token过期的处理
- 基于retrofit网络请求token过期的处理逻辑
- 关于移动客户端token过期问题
- tsm 客户端密码过期处理
- android拒绝token过期的一种方法
- live555中rtsp客户端对于buffer的处理方法介绍
- java_web当中客户端-服务器端对于中文编码格式的处理
- 表单过期的处理
- 谈谈浏览器的缓存过期时间
- 谈谈浏览器的缓存过期时间
- 谈谈对于SSDT中的API进行双层HOOK的通用处理模式
- Android Token过期解决方案
- openstack的token过期日期会不停向后推
- RxJava+Retrofit实现全局过期token自动刷新的实践
- ClickOnce证书过期的处理
- Oracle密码过期的处理
- ORCLE用户密码过期的处理
- ORCLE用户密码过期的处理 .
- apache的下载、配置以及端口转发的两种方式(server 2012)
- Android 与 js 交互
- Hive、Hbase、mysql区别
- 类型转换
- 本地通知和远程推送
- 谈谈客户端对于Token过期的处理
- 模块化的进进一步
- layoutAnimation动画
- JDK中hash冲突解决的两种方法
- list笔记
- javascript设置无缝滚动图片
- python进行独立样本t检验
- OCR实时扫描识别中英文--tess_two在Android的使用
- stm32 多通道ADC+DMA采集