iOS中的用户token过期处理

一、app必须要登陆才能使用

这里写代码片该种情况并没有太多的选择余地,所有的接口必须依赖Token才能使用,这时候能做的就是弹出登陆界面,让用户登陆。问题是,用户登陆成功之后的刷新问题。

1、在某些(基本上是大多数,特别是没有自带下拉刷新的界面),在will appear里面做网络请求

2、通知。大多数情况下,我们会有一个baseVC的存在,定义一个“是否需要刷新”的变量,当用户登陆成功之后,发送一个登陆成功的通知,并在需要刷新的界面重新做请求

3、建立一个专门管理Token过期API的类,在检测Token过期的情况后,劫持该API,登陆成功之后,重新发送该请求

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

这边涉及到一个问题就是,当Token过期弹出登陆界面之后,用户是可以取消登陆的,这时候如果在will appear里面做网络请求的话,并且用户一直选择取消,就会导致死循环。

1、取消通知。定制一个参数,用来判断用户在没有登陆的情况下,是否可以进入该界面,如果不能接入,逐一返回上一个界面(因为在检测Token过期并弹出登陆界面的时候,这时候本地的Token信息理论上是应该被清除掉的)

2、登陆成功通知。可以和上面必须登陆时候一样的做法

3、同以上必须登陆的情况

你可能感兴趣的:(iOS中的用户token过期处理)