美文网首页
OAuth认证总结(以微博为例,仅个人学习总结)

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

作者: 花生乳 | 来源:发表于2015-11-24 23:33 被阅读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。

    相关文章

      网友评论

          本文标题:OAuth认证总结(以微博为例,仅个人学习总结)

          本文链接:https://www.haomeiwen.com/subject/quenxttx.html