Я пытаюсь использовать REST API в своем приложении iOS. Я знаю, что это работает, потому что я могу сделать запрос на вход один раз. Каждый последующий запрос выходит из строя с ошибкой 401. Даже если я удалю приложение из симулятора, его все равно нельзя вызвать снова, пока я не изменю тип симулятора на тот, который я раньше не использовал (т. Е. IPad 2, iPhone6 и т. Д.). Я также могу использовать такую услугу, как https://www.hurl.it, чтобы сделать тот же запрос с теми же параметрами столько раз, сколько захочу. Я использую AFNetworking
и AFHTTPRequestOperationManager
. Что я делаю не так?AFNetworking to REST API возвращает 401
self.manager = [[AFHTTPRequestOperationManager alloc]initWithBaseURL:[NSURL URLWithString:@"https://api.mydomain.com/"]];
[self.manager POST:@"services/json/user/login" parameters:@{@"username":@"USERNAME", @"password":@"PASSWORD"} success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (![responseObject isKindOfClass:[NSDictionary class]]) { return; }
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSDictionary* json = responseObject;
self.sessionName = json[@"session_name"];
self.sessionId = json[@"sessionid"];
[defaults setObject:self.sessionName forKey:@"SessionNameKey"];
[defaults setObject:self.sessionId forKey:@"SessionIDKey"];
if (completion) { completion(); }
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Session request failed: %@", error.userInfo);
}];
Вы правильно. И этот токен доступа работает для всех последующих запросов, сделанных в том же сеансе. Но если я удалю приложение из симулятора и заново его запустил, код входа не удастся. – InkGolem
Итак, код входа в систему только один раз в жизни? Это странно. – sarunw
Какую услугу вы используете? Есть ли вероятность, что они это делают неправильно? – sarunw