OAuth认证总结(以微博为例,仅个人学习总结)

2015-11-24  本文已影响71人  花生乳

前言:OAuth是一种协议,OAuth协议为用户资源的授权提供了一个安全开放又简易的标准。

最开始进入新浪官网成为开发人员,并设置应用信息。

1>获取未授权的Request Token

实际上就是打开�新浪提供的登录页面,根据文档会有两个必选参数client_Id(申请应用时分配的AppKey)和

redirect_url(回调地址)。

2>获取用户授权的Request Token

进行完第一步后点击授权会返回一个用户授权的Request Token

3>用授权的Request Token获取Access Token

需要在UIWebViewDelegate的- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType;这个方法中获得用户授权成功的请求标记,也就是code=后面的内容,用code换取Access Token,根据文档可查此时需要传5个参数。

一个Access Token是让一个应用获取一个用户的数据

代码:- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{

                   //请求的URl路径

                   NSString*urlStr = [request.URLabsoluteString];

                   //查找code=在urlStr中的范围

                   NSRangerange = [urlStrrangeOfString:@"code="];

                   //range.length是否为nil

                  if(range.location!=NSNotFound) {

                 //截取code=后面的请求标记(经过用户授权成功地)

                NSIntegerloc = range.location+ range.length;

                NSString*code = [urlStrsubstringFromIndex:loc];

                //发送信息给新浪,通过code换取accessToken

}

returnYES;

}

然后需要将code的内容传到上文提到的5个参数(据文档可查)中,获取AccessToken。

上一篇下一篇

猜你喜欢

热点阅读