使用AFNetworking重置基本身份验证凭据

时间:2012-01-27 19:17:35

标签: ios authentication rest reset afnetworking

我正在编写REST客户端(使用AFNetworking),并且需要能够在应用程序的单个实例中触发创建新会话。

换句话说,我想:
1 - 使用服务器进行身份验证
2 - 做一些REST呼叫
3 - 模拟“退出”
4 - 使用服务器重新验证
5 - 多做一些REST调用

AFNetworking非常适合进行初始身份验证和REST调用,但我无法弄清楚如何清除会话并在同一个实例中“重置”连接。

当我使用ASIHTTP时,我只是做了:
[ASIHTTPRequest clearSession];

有没有办法与AFNetworking做类似的事情?

3 个答案:

答案 0 :(得分:9)

使用AFHTTPClient(请参阅示例项目中的API客户端)。

可以使用-setAuthorizationHeaderWithUsername:password:设置凭据。从该HTTP客户端创建的每个请求都将具有Authorization HTTP标头,类似于浏览器会话。

当用户退出或您想要清除凭据时,请执行-clearAuthorizationHeader

答案 1 :(得分:2)

更简单。

[request setHTTPShouldHandleCookies:NO];

答案 2 :(得分:1)

据我所知,休息电话不是基于会话的。这意味着您无法在特定调用中模拟身份验证和注销会话。我认为你能做的就是对每个对终点的调用进行身份验证。因此,对于每个端点(方法),您都会对调用者进行身份验证。我认为这是你可以在一个安静的系统中做的赌注。