iOS 앱에서 REST API를 사용하려고합니다. 내가 한 번 로그인 요청을 할 수 있기 때문에 그것이 작동 알아요. 모든 후속 요청은 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