从iPhone登录Twitter时遇到困难
我正在使用MGTwitterEngine将Twitter功能添加到我的应用程序中。很容易提示用户输入用户名和密码,然后开始发布。然而,奇怪的是,我注意到其他应用程序(如Foursquare和Brightkite)要求你访问他们的网站,将你的Twitter帐户与你的Foursquare/Brightkite/任何帐户相关联 他们为什么这样做 为什么我的应用程序不应该提示用户输入Twitter用户名和密码,即使这很简单 非常感谢!从iPhone登录Twitter时遇到困难,iphone,twitter,integration,mgtwitterengine,Iphone,Twitter,Integration,Mgtwitterengine,我正在使用MGTwitterEngine将Twitter功能添加到我的应用程序中。很容易提示用户输入用户名和密码,然后开始发布。然而,奇怪的是,我注意到其他应用程序(如Foursquare和Brightkite)要求你访问他们的网站,将你的Twitter帐户与你的Foursquare/Brightkite/任何帐户相关联 他们为什么这样做 为什么我的应用程序不应该提示用户输入Twitter用户名和密码,即使这很简单 非常感谢! TristanTwitter支持OAuth,它允许您访问他们的帐户,
TristanTwitter支持OAuth,它允许您访问他们的帐户,而无需直接询问他们的密码 主要问题是安全。如果/当您的数据库被黑客攻击时会发生什么情况?攻击者可以访问您用户的所有twitter密码 另一方面,这些网站不存储用户密码;如果他们被黑客攻击,twitter可以轻易地禁用oauth凭据,在攻击者造成伤害之前将其锁定
使用OAuth;它更安全。这是因为您使用的是用户名/密码。大多数新的Twitter应用程序都使用更强大的功能,这要求您访问Twitter.com以允许访问,但不需要用户名/密码。声称对基本身份验证的支持将很快被取消,因此您也应该使用OAuth。只需替换您的\u TWITTER\u用户名和\u TWITTER\u密码即可。以下代码必须包含在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] ) ;