Zurücksetzen der grundlegenden Authentifizierungsdaten mit AFNetworking

8

Ich schreibe einen REST-Client (mit AFNetworking) und benötige die Fähigkeit, die Erstellung einer neuen Sitzung innerhalb einer einzigen Instanz einer Anwendung auszulösen.

Mit anderen Worten, ich möchte:
1 - Authentifizieren mit Server
2 - Führen Sie einige REST-Anrufe durch 3 - Simulieren Sie "Abmelden"
4 - Erneute Authentifizierung mit dem Server
5 - Führen Sie weitere REST-Aufrufe durch AFNetworking ist großartig mit dieser ersten Authentifizierung und REST-Aufrufe, aber ich kann nicht herausfinden, wie ich die Sitzung löschen und die Verbindung innerhalb der gleichen Instanz "zurücksetzen" würde Als ich ASIHTTP benutzt habe, habe ich einfach:
[ASIHTTPRequest clearSession];

Gibt es eine Möglichkeit, etwas ähnliches mit AFNetworking zu tun?

    
user1174179 27.01.2012, 19:17
quelle

3 Antworten

9

Verwenden Sie AFHTTPClient (siehe den API-Client im Beispielprojekt).

Anmeldeinformationen können mit -setAuthorizationHeaderWithUsername:password: festgelegt werden. Jede Anforderung, die von diesem HTTP-Client erstellt wird, hat einen Authorization HTTP-Header, ähnlich einer Browsersitzung.

Wenn sich der Benutzer abmeldet oder die Anmeldedaten löschen möchten, führen Sie -clearAuthorizationHeader .

aus     
mattt 31.01.2012 05:30
quelle
2

Noch einfacher.

%Vor%     
Shyam Bhat 18.06.2013 14:35
quelle
1

Ruhe-Anrufe, soweit ich weiß, sind nicht Session-basiert. Das bedeutet, dass Sie eine Authentifizierungs- und Abmeldesitzung in einem bestimmten Anruf nicht simulieren können. Was ich denke, kannst du tun, um für jeden Anruf authentifiziert zu werden, der zum Endpunkt geführt wird. Für jeden Endpunkt (Methode) authentifizieren Sie den Aufrufer. Ich denke, das sind die Wetten, die man in einem erholsamen System tun kann.

    
oluwasogo ojo 27.01.2012 19:28
quelle