Parse platform 使用AFNetworking在iOS 8中登录时解析未经授权的服务器(401)

Parse platform 使用AFNetworking在iOS 8中登录时解析未经授权的服务器(401),parse-platform,ios8,afnetworking-2,unauthorized,afhttprequestoperation,Parse Platform,Ios8,Afnetworking 2,Unauthorized,Afhttprequestoperation,您好,我正在使用iOS同步组件在parse server中保存数据,我从parse web端创建了一个类,并将该类命名为TicketDetail,并添加了一些包含数据的字段,但是,当我尝试使用AFHTTPRequestOperation从我的应用程序访问类时,带有link的AFNetworking GET请求还将AppID和client Key作为头字段传递给AFHTTPRequestOperation。在发出请求之前,我正在检查用户是否使用下面的代码注册到parse.com [PFUs

您好,我正在使用iOS同步组件在parse server中保存数据,我从parse web端创建了一个类,并将该类命名为TicketDetail,并添加了一些包含数据的字段,但是,当我尝试使用AFHTTPRequestOperation从我的应用程序访问类时,带有link的AFNetworking GET请求还将AppID和client Key作为头字段传递给AFHTTPRequestOperation。在发出请求之前,我正在检查用户是否使用下面的代码注册到parse.com

    [PFUser logInWithUsernameInBackground:username password:password
                                    block:^(PFUser *user, NSError *error) {
                                        if (user) {
                                            // Do stuff after successful login.
                                            NSLog(@"%@",user);
                                            NSLog(@"%@",user.email);
                                            NSLog(@"%@",user.username);
                                            [[AFSyncEngine sharedInstance] startSync];

                                        } else {
                                            NSLog(@"The login failed. Check error to see why");
                                            UIAlertView *_alert = [[UIAlertView alloc]initWithTitle:@"Unauthorised User" message:@"Would you like to SignUp" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"SignUp", nil];
                                            _alert.tag=89;
                                            [_alert show];
                                            };
                                    }];
如果用户未经授权,我将使用以下代码向用户注册

PFUser *newUser = [PFUser user];
[newUser setUsername:self.userNameFld.text];
[newUser setEmail:self.emailIdFld.text];
[newUser setPassword:self.passwordFld.text];
[newUser signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (succeeded) {
        NSLog(@"Registered");
        [[[UIAlertView alloc]initWithTitle:@"SignUp" message:@"Successfull" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]show];
    }
    else {
        NSLog(@"%@",error);
    }
}];
一旦用户注册并尝试登录,这就是我从解析服务器得到的响应

2015-03-09 14:44:49.742我的详细信息[2360:1369317]错误
Domain=com.alamofire.error.serialization.response Code=-1011“请求失败:未经授权(401)”UserInfo=0x7fbf585c0f40{com.alamofire.serialization.response.error.response=
{URL:} {状态代码:401,
标题 { “访问控制允许方法”=“”; “访问控制允许来源”=“”; 连接=“保持活动”; “内容长度”=25; “内容类型”=“应用程序/json;字符集=utf-8”; 日期=“2015年3月9日星期一09:14:47 GMT”; Server=“nginx/1.6.0”; “Www Authenticate”=“Basic realm=”Parse\”; “X-Parse-Platform”=G1; “X-Runtime”=“0.000162”; } }, NSErrorFailingURLKey=,com.alamofire.serialization.response.error.data=,NSLocalizedDescription=请求失败:未经授权(401)}


如果有人在parse.com和AFNetworking上工作,请帮助我。在AFNetworking中,您需要为https请求添加安全策略

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
securityPolicy.allowInvalidCertificates = YES;
self.securityPolicy = securityPolicy;
self.requestSerializer = [AFJSONRequestSerializer serializer];
self.responseSerializer = [AFJSONResponseSerializer serializer];

我就是这么做的,但仍然没有制定出AFSecurityPolicy*securityPolicy=[AFSecurityPolicyWithPinningMode:AFSSLPiningModeNone];securityPolicy.allowInvalidCertificates=是;self.securityPolicy=securityPolicy;[self-setRequestSerializer:[AFJSONRequestSerializer]];self.responseSerializer=[AFHTTPResponseSerializer序列化程序];[self.requestSerializer设置值:@“X-Parse-Application-Id”forHTTPHeaderField:kParseAppiaApplicationId];[self.requestSerializer设置值:@“X-Parse-REST-API-Key”用于httpheaderfield:kParseAPIKey];如果上述方法不起作用,那么您主要是使用了错误的应用程序ID和客户端密钥。