1

MGTwitterEngineを使用して、アプリにTwitter機能を追加しています。ユーザーにユーザー名とパスワードの入力を求めてから投稿を開始するのは非常に簡単です。ただし、不思議なことに、他のアプリ(FoursquareやBrightkiteなど)では、Twitterアカウントをfoursquare / brightkite/whateverアカウントに関連付けるためにそれらのWebサイトにアクセスする必要があることに気付きました。

なぜ彼らはそれをこのようにするのですか?

とても簡単だとしても、私のアプリがユーザーにTwitterのユーザー名とパスワードの入力を求めない理由はありますか?

本当にありがとう!トリスタン

4

3 に答える 3

1

これは、ユーザー名/パスワードだけである基本認証を使用しているためです。ほとんどの新しいTwitterアプリは、より堅牢なOAuthを使用します。これにより、アクセスを許可するにはTwitter.comにアクセスする必要がありますが、ユーザー名/パスワードは必要ありません。Twitter APIのドキュメントによると、基本認証のサポートはまもなく廃止されるため、OAuthも使用する必要があります。

于 2010-04-15T05:47:37.010 に答える
0

TwitterはOAuthをサポートしています。これにより、パスワードを直接尋ねることなくアカウントにアクセスできます。

主な関心事はセキュリティです。データベースがハッキングされた場合はどうなりますか?攻撃者は、ユーザーのすべてのTwitterパスワードにアクセスできます。

一方、これらのサイトはユーザーのパスワードを保存しません。ハッキングされた場合、Twitterはoauthクレデンシャルを簡単に無効にして、攻撃者が危害を加える前にロックアウトすることができます。

OAuthを使用します。それははるかに安全です。

于 2010-04-15T05:37:13.187 に答える
-1

YOUR_TWITTER_USERNAMEとYOUR_TWITTER_PASSWORDを置き換えるだけです。以下のコードをviewController.mに含める必要があります

NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL: [NSURL 
URLWithString: @”http: //YOUR_TWITTER_USERNAME: YOUR_TWITTER_PASSWORD@twitter. com/
statuses/update. xml”]
    cachePolicy:NSURLRequestUseProtocolCachePolicy
    timeoutInterval: 60. 0] ;
  [theRequest setHTTPMethod: @”POST”] ;
  [theRequest setHTTPBody: [[NSString stringWithFormat: @”status=%@”, 
themessage] dataUsingEncoding: NSASCIIStringEncoding] ] ;
  NSURLResponse* response;
  NSError* error;
  NSData* result = [NSURLConnection sendSynchronousRequest:theRequest 
returningResponse: &response error: &error] ;
  NSLog( @”%@”, [[[ NSString alloc] initWithData: result 
encoding: NSASCIIStringEncoding] autorelease] ) ;
于 2010-04-15T06:00:44.533 に答える