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?
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
.
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.
Tags und Links ios authentication rest afnetworking reset