AFNetworking 2.0 and HTTP Basic Authentication

Marckaraujo picture Marckaraujo · Sep 30, 2013 · Viewed 35.7k times · Source

Can't find AFHTTPClient on AFNetworking 2.0, to use:

AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://examplewebsite.com]];

[client setAuthorizationHeaderWithUsername:@"username" password:@"password"];

How it needs to be manage on AFNetworking 2.0?

Answer

Leguman picture Leguman · Oct 1, 2013

AFNetworking 2.0 new architecture use serializers for creating requests and parsing responses. In order to set the authorization header, you should first initialize a request operation manager that replaces the AFHTTPClient, create a serializer and then call the dedicated method to set the header.

For example you code would become:

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://examplewebsite.com"]];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:@"userName" password:@"password"];

You should read the documentation and the migration guide to understand the new concepts that come with the version 2.0 of AFNetworking.