2016-12-12 144 views
2

所有代碼均可正常工作,問題在於身份驗證失敗,儘管用戶名和密碼是100%正確的,因此不確定是否有辦法通過登錄名和密碼,並得到了用戶認證IOS - 使用REST API進行基本身份驗證 - SSL - AFNetworking 3.0

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 Basic Authentication在這種情況下,你應該使用Authorization頭字段,而不是通過純文本的用戶名和密碼在請求的參數內(我第一次嘗試使用REST API進行基本認證時犯了這個錯誤)。

您需要將其添加到AFHTTPRequestSerializer的標題中,您可以使用setAuthorizationHeaderFieldWithUsername:password: method或手動構建標題字段值並使用setValue:forHTTPHeaderField: method設置標題字段值。