使用AFNetworking重置基本authentication凭证
我正在编写一个REST客户端(使用AFNetworking),并且需要在应用程序的单个实例中触发创build新会话的function。
换句话说,我想:
1 – 与服务器进行身份validation
2 – 做一些REST呼叫
3 – 模拟“注销”
4 – 重新validation与服务器
5 – 做更多的REST电话
AFNetworking非常适合初始身份validation和REST调用,但我无法弄清楚如何清除会话并在同一个实例中“重置”连接。
当我使用ASIHTTP时,我只是这样做了:
[ASIHTTPRequest clearSession];
有没有办法做类似的AFNetworking?
使用AFHTTPClient
(请参阅示例项目中的API客户端)。
凭证可以通过-setAuthorizationHeaderWithUsername:password:
来设置。 从该HTTP客户端创build的每个请求都将有一个Authorization
HTTP头,类似于浏览器会话。
当用户注销,或者你想清除凭据时,请执行-clearAuthorizationHeader
。
更简单。
[request setHTTPShouldHandleCookies:NO];
据我所知,rest电话不是基于会话的。 这意味着您无法模拟特定呼叫中的身份validation和注销会话。 我认为你可以做的是对每一个对终点的调用进行身份validation。 因此,对于每个终点(方法),您都要对来电者进行身份validation。 我认为这是您可以在宁静的系统中进行的投注。