ios新浪微博OAuth2.0认证
程序员文章站
2023-12-21 18:52:04
...
刚接触OAuth认证的时候 迷迷糊糊的 通过查看各位前辈留下的资料 渐渐明白了 其实OAuth认证就是在开发者不接触用户账号和密码的情况下使用户完成登陆 理解能力有限 差不多这个意思
新浪OAuth2.0认证主要就是获取accesstoken这个参数 要怎么获取呢? 这个问题问的好———首先
NSString *url = [NSString stringWithFormat:
@"https://api.weibo.com/oauth2/authorize?client_id=1900264725&redirect_uri=http://www.baidu.com&response_type=token&display=mobile"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
_webview.delegate = self;
[_webview loadRequest:request];
其中client_id就是在新浪申请的那个key,用的时候写你自己的 我的这个还没有审核 只能测试账号 - - 上面的参数在新浪API都有详细解释 就不赘言了
可以得到这个界面
然后 实现webview的协议方法
- (void)webViewDidFinishLoad:(UIWebView *)webView{
NSString *tokenstring = self._webview.request.URL.absoluteString;
NSLog(@"%@",tokenstring);
NSRange range = NSMakeRange(35, 32);
accesstoken = [tokenstring substringWithRange:range];
NSLog(@"%@",accesstoken);
}
然后输入你的账号登陆 -----
首先获取到了返回的一串字符{http://www.baidu.com/#access_token=2.00PrLBzCDf_bECe3e352e80eNcs9YB&remind_in=121673&expires_in=121673&uid=2733906073}
其中就有我们要的access_token 然后通过 NSRange 截取 我数了数 它是在35 长度32
打印出:2.00PrLBzCDf_bECe3e352e80eNcs9YB
然后就可以参照新浪的API把这个参数加入到不同的url中获取你要的json或者xml 要怎么用随你
能力有限~~希望能给你点启发
转载于:https://my.oschina.net/u/591005/blog/79333