Umeng第三方登录

Umeng第三方登录_第1张图片
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第三方登录)