【问题标题】:IOS - Basic Authentication with a REST API - SSL - AFNetworking 3.0IOS - 使用 REST API 的基本身份验证 - SSL - AFNetworking 3.0
【发布时间】:2016-12-13 15:56:13
【问题描述】:

代码一切正常,问题是它说身份验证失败,虽然用户名和密码是 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;

【问题讨论】:

    标签: ios afnetworking-3


    【解决方案1】:

    我猜你打算使用 HTTP Basic Authentication 在这种情况下你应该使用 Authorization 头字段而不是在请求的参数中以纯文本形式传递用户名和密码(我第一次犯了这个错误时间我尝试使用 REST API 进行基本身份验证)。

    您需要将其添加到AFHTTPRequestSerializer 的标头中,您可以使用setAuthorizationHeaderFieldWithUsername:password: method 或手动构造标头字段值并使用setValue:forHTTPHeaderField: method 设置标头字段值。

    【讨论】:

      猜你喜欢
      • 2016-06-27
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 2013-06-06
      相关资源
      最近更新 更多