如何绑定或者解除绑定微博和人人帐号
OAuth2.0验证得到了广泛的应用,其中微博和人人都是用了这种认证方式。在IOS开发微博和人人的客户端时,首先要解决的问题就是微博的绑定和解除绑定。绑定比较容易解决,按照官方提供的OAuth流程即可实现。而解除绑定比较麻烦,需要考虑IOS的网络请求过程的缓存机制。
IOS网络请求一般是用NSURLRequest类,而IOS采用NSURLRequest请求时会帮你主动记录下来你访问的站点设置的cookie,而且很很有效,以至于要解除绑定有些麻烦,即当你下次再访问这个站点时,NSURLRequest会拿着上次保存下来了的cookie继续去请求。这个规律甚至适用于ASIHTTPRequest。不管怎m验,当你做一些基于认证的网络请求时,cookie不失为一个完美的解决方案。
IOS的NSHTTPCookie类cookie的属性有很多,具体可参考NSHTTPCookie Class Reference。
下面说说如何获得cookie。
查看程序中保存的所有cookie:
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary]; [cookieProperties setObject:@"username" forKey:NSHTTPCookieName]; [cookieProperties setObject:@"rainbird" forKey:NSHTTPCookieValue]; [cookieProperties setObject:@"cnrainbird.com" forKey:NSHTTPCookieDomain]; [cookieProperties setObject:@"cnrainbird.com" forKey:NSHTTPCookieOriginURL]; [cookieProperties setObject:@"/" forKey:NSHTTPCookiePath]; [cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion]; NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties]; [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}