所以基本上我正在使用Cookie身份验证。 Cookie会在1 HR后过期。我试图覆盖一个边缘用例,如果用户将应用程序置于活动前台中直接超过1个HR,则如何刷新cookie。基本上,我需要在后台使用我的令牌进行登录呼叫,以便在任何网络呼叫再次工作之前重新进行身份验证并刷新cookie。
我是否应该将此重新认证代码放在App Delegate中,因为我有多个视图控制器进行网络呼叫?这是一个很好的做法,还是应该将代码放在根视图控制器中?
我的想法基本上是寻找401错误代码并对App Delegate进行NSNotification以重新进行身份验证。
答案 0 :(得分:0)
您可以在应用程序处于活动状态(NSUserDefaults
)时保存时间戳(例如在applicationWillResignActive:
中),并在应用再次处于活动状态时计算时差(applicationDidBecomeActive:
)。如果时差大于某个数量(例如一小时),您应该重新验证应用程序并获取新的cookie。
401依赖通知方法也很有用,因为服务器可能因其他原因返回401.