Сброс базовых учетных данных аутентификации с помощью AFNetworking

Я пишу REST-клиент (с AFNetworking), и мне нужна возможность инициировать создание нового сеанса в пределах одного экземпляра приложения.

Другими словами, я хотел бы:
1 - авторизоваться на сервере
2 - сделать несколько звонков REST
3 - Имитация «Выйти»
4 - Повторная аутентификация на сервере
5 - сделать еще несколько звонков REST

AFNetworking отлично справляется с этой первоначальной аутентификацией и вызовами REST, но я не могу понять, как очистить сеанс и «сбросить» соединение в одном экземпляре.

Когда я использовал ASIHTTP, я просто сделал:
[ASIHTTPRequest clearSession];

Есть ли способ сделать что-то похожее с AFNetworking?

Ответы на вопрос(3)

Еще проще

[request setHTTPShouldHandleCookies:NO];

насколько я знаю, не основаны на сессиях. Это означает, что вы не можете смоделировать сеанс аутентификации и выхода из системы в конкретном вызове. Я думаю, что вы можете сделать это для проверки подлинности для каждого звонка в конечную точку. Таким образом, для каждой конечной точки (метода) вы аутентифицируете абонента. Я думаю, что это ставки, которые вы можете сделать в спокойной системе.

 Harpastum02 окт. 2012 г., 00:48
Очистка печенья была также то, что я искал.
 Keller20 сент. 2012 г., 18:10
Этот совет был действительно полезным. Благодарю.
 user117417927 янв. 2012 г., 20:40
хм, я поэкспериментировал с этим немного больше, и похоже, что очистка кеша cookie, похоже, помогает мне: NSHTTPCookieStorage * cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray * cookies = [cookieStorage cookies]; для (NSHTTPCookie * cookie в файлах cookie) {[cookieStorage deleteCookie: cookie]; NSLog (@ "удаленный файл cookie"); }

AFHTTPClient (см. клиент API в примере проекта).

Учетные данные могут быть установлены с-setAuthorizationHeaderWithUsername:password:, Каждый запрос, созданный этим HTTP-клиентом, будет иметьAuthorization Заголовок HTTP, вроде как сессия браузера.

Когда пользователь выходит из системы или вы хотите удалить учетные данные, выполните-clearAuthorizationHeader.

Ваш ответ на вопрос