一位同事和我偶然發現了我們兩個代碼中的錯誤。我們碰巧都在登錄頁面上工作。我正在使用聯網庫AFNetworking連接到一個外部源,它告訴用戶是否實際註冊過。這位朋友也是(但沒有任何外部圖書館)。 (代碼適用於ios。)可以隨時登錄
我們都遇到了同樣的問題:在進行有效調用之後,所有事情都按預期進行。但是如果我們再次打電話是無效的(例如,錯誤的用戶名和/或密碼),我仍然可以登錄。
爲什麼?我們沒有保存任何信息。
下面是一些代碼:
BasicAuth * manger = [BasicAuth sharedManager];
manger = nil;
[[BasicAuth sharedManager] setUsername:@"bad_username" andPassword:@"wrong"];
[[BasicAuth sharedManager] getPath:@"https://stackoverflow.com/users/tokens"
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"operation = %@", [responseObject description]);
NSError *error = nil;
/*
*/
if (error) {
NSLog(@"Error serializing %@", error);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (operation.response.statusCode == 500) {
} else {
NSData *jsonData = [operation.responseString dataUsingEncoding:NSUTF8StringEncoding];
// NSString *errorMessage = [ objectForKey:@"error"];
NSLog(@"We have an issue %@", [error description]);
}
}]; return YES;
如果我把這個相同的代碼,但是有一個正確的用戶名/密碼,然後調用上面的代碼,那麼我仍然可以登錄的,我回來的信息是與我發送「良好」請求時一樣。另外,當我嘗試使用我的筆記本電腦上的curl發出登錄請求時,我不會遇到同樣的問題,這使我認爲,出於某種原因,發送的信息未被更新。但我看不出如何或爲什麼。再次,這是第三方庫是否正在使用。
想法,建議?
注:基本驗證(見上文)是AFHTTPCLIENT