IOS - базовая аутентификация с использованием API REST - SSL - AFNetworking 3.0

Все отлично работает с кодом, проблема в том, что он говорит, что аутентификация не удалась, хотя имя пользователя и пароль верны на 100%, поэтому не уверен, есть ли способ передать логин и пароль и пройти аутентификацию пользователя

 NSString *urlString = @"URL";

        NSMutableArray * keyStrings = [NSMutableArray new];
        NSMutableArray * valueStrings = [NSMutableArray new];
        [keyStrings addObject:@"user"];
        [valueStrings addObject:@"abc"];
        [keyStrings addObject:@"password"];
        [valueStrings addObject:@"12345"];

        NSDictionary * requestDict = [[NSDictionary alloc] initWithObjects:valueStrings forKeys:keyStrings];
        AFHTTPSessionManager* manager = [AFHTTPSessionManager manager];

        manager.responseSerializer = [AFHTTPResponseSerializer serializer];

        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/xml"];
        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
        manager.securityPolicy.allowInvalidCertificates = YES;
        manager.securityPolicy.validatesDomainName = NO;

1 ответ

Решение

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

Вам нужно будет добавить его в AFHTTPRequestSerializerзаголовки, которые вы можете сделать с помощью setAuthorizationHeaderFieldWithUsername:password: метод или путем создания значения поля заголовка вручную и установки значения поля заголовка с помощью setValue:forHTTPHeaderField: метод.

Другие вопросы по тегам