Я хочу интегрировать дайджест-аутентификацию в мой целевой код c.Я использую NSURLSessionDataTask.При первом вызове веб-сервиса я получаю значение nonce, а затем при следующем вызове устанавливаю заголовок того же веб-сервиса.
NSDictionary *payload;
payload = @{
@"Username" : @"",
@"Password" : @"",
};
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@""]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSError *error = nil;
NSData *data = [NSJSONSerialization dataWithJSONObject:payload
options:0 error:&error];
request.HTTPBody = data;
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
NSDictionary* dictHeaders = [(NSHTTPURLResponse *)response allHeaderFields];
NSLog(@"%@",[dictHeaders objectForKey:@"Www-Authenticate"]);
[self callWSAfterAuthentication:[dictHeaders objectForKey:@"Www-Authenticate"]];
}
}];
[dataTask resume];