ASIHTTP身份验证令牌到期

问题描述:

我在iOS应用程序中使用ASIHTTPRequest。每个POST请求都需要一个有效的身份验证令牌。我通过在应用程序上打开验证/请求来从服务器获取身份验证令牌。ASIHTTP身份验证令牌到期

身份验证令牌每30分钟左右过期一次。如果我需要一个新的令牌,那么在响应中会出现一个301错误,然后再次创建auth/request以获取新的有效令牌。

这就是我遇到的问题:我向服务器发布了一些照片上传,然后找回301,因为是时候获得新的身份验证令牌。我做了认证/请求,但后来我失去了我对原来的新认证令牌的请求。我可以找出一种方法来坚持这个旧请求,并在新的令牌到位时重新开始,但我认为在框架内有一个更简单/更好的方法来完成此操作,这些操作在获得后会自动启动我的原始请求有效的令牌。

任何帮助表示赞赏。

我想出了一个很好的解决方案。我要做的是将ASIHTTPRequest对象添加到数组中。实际上,我将所有请求添加到数组,并在成功处理后删除它们。一些代码来演示:

ASIFormDataRequest *asiRequest = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlString]]; 
asiRequest.delegate = self; 
[asiRequest addPostValue:value forKey:@"key"]; 
[asiRequest startAsynchronous]; 

if (!requests) { 
    requests = [[NSMutableArray alloc]init]; 
} 
[requests addObject:asiRequest]; 

所以,现在你有一个数组的请求对象。当请求完成时,如果我需要获得新的认证令牌,我请求它,获取它,然后遍历请求数组,并使用新的认证令牌进行请求,如下所示:

for (ASIFormDataRequest *asiRequest in requests) { 
    [asiRequest startAsynchronous]; 
}