0

同僚と私は、両方のコードでバグに遭遇しました。私たちはたまたまログインページで作業しています。ネットワーク ライブラリ AFNetworking を使用して、ユーザーが実際に登録したかどうかを示す外部ソースに接続しています。友人も同様です (ただし、外部ライブラリはありません)。(コードはios用です。)

どちらも同じ問題に直面しています。有効な呼び出しを行った後、すべてが期待どおりに進みます。しかし、無効な別の呼び出しを行った場合 (ユーザー名やパスワードが間違っているなど)、ログインすることはできます。

なんで?情報を保存していません。

ここにいくつかのコードがあります:

  BasicAuth * manger  =  [BasicAuth sharedManager];
  manger = nil;
  [[BasicAuth sharedManager] setUsername:@"bad_username" andPassword:@"wrong"];

   [[BasicAuth sharedManager]  getPath:@"/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 を使用してログイン リクエストを作成しようとすると、同じ問題は発生しません。これにより、何らかの理由で、送信されている情報が更新されていないと思われます。しかし、方法や理由がわかりません。繰り返しますが、これはサードパーティのライブラリが使用されているかどうかです。

考え、提案?

注: BasicAuth (上記参照) は AFHTTPCLIENT のサブクラスです

4

1 に答える 1