美文网首页
Umeng第三方登录

Umeng第三方登录

作者: xiao小马哥 | 来源:发表于2016-07-12 15:23 被阅读826次
    rBACE1MvBP2CkG0DAAGolWsEcmw723_600x.jpg

    使用Umeng的第三方登录就非常简单了,和分享用的是一个框架,只需要在登录的时候调用一下方法就OK了

    1.微信登录
    在点击图标的时候调用这个方法(其中if括号里面的是用来判断是否安装了微信客户端,你也可以用这个来做图标的显示与否的判断)

    if ([WXApi isWXAppInstalled]) {// 
        SendAuthReq* req = [[SendAuthReq alloc ] init ];
        req.scope = @"snsapi_userinfo" ;
        req.state = @"login" ; 
        //第三方向微信终端发送一个SendAuthReq消息结构
        [WXApi sendReq:req];
        
    }
    

    微信的回调会调用这个方法- (void)onResp:(BaseResp*)resp,主要用来判断是否授权登录

     if ([resp isKindOfClass:[SendMessageToWXResp class]]) {
      // 这里做分享的逻辑
    }else if([resp isKindOfClass:[SendAuthResp class]]){
      // 这里做登录的逻辑
    }
    

    这里有各种状态的状态码

    WXSuccess           = 0,    /**< 成功    */
    WXErrCodeCommon     = -1,   /**< 普通错误类型    */
    WXErrCodeUserCancel = -2,   /**< 用户点击取消并返回    */
    WXErrCodeSentFail   = -3,   /**< 发送失败    */
    WXErrCodeAuthDeny   = -4,   /**< 授权失败    */
    WXErrCodeUnsupport  = -5,   /**< 微信不支持    */
    

    授权成功会返回一个code码
    调用这个接口(https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET)
    获取access_token,注意其中的参数要换成你们公司申请时的参数.

    这时你不仅获取到了access_token还有其他的一些参数比如openid等,因为做第三方登录你还需要获取用户的数据,
    你就需要调用这个接口(https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN )
    其中的参数就传之前获取回来的参数,这是还会返回很多数据,你选择你需要的数据发送给你的服务器就好了,比如nickname(用户的昵称)/openid(用户的标识,对当前公众号唯一)/headimgurl(用户头像)等等
    这样的集成就好了!!

    相关文章

      网友评论

          本文标题:Umeng第三方登录

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