ShareSDK官网:http://www.mob.com/#/ios
获得App Key,App Secret(后面的代码整合中会用到)git
参考博文:
http://www.jianshu.com/p/839dc30f2250
http://www.jianshu.com/p/c9b688fdb961github
下载地址:
http://www.mob.com/#/downloadDetail/ShareSDK/ios缓存
SDK下载完成后,获得以下的文件目录结构微信
参考博文:http://www.jianshu.com/p/5935dff47e4fui
参考博文:http://www.jianshu.com/p/f974f4cbba18spa
[ShareSDK getUserInfo:SSDKPlatformTypeWechat onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) { if (state == SSDKResponseStateSuccess) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"已获取受权" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; NSLog(@"uid=%@" ,user.uid); NSLog(@"%@" ,user.credential); NSLog(@"token=%@" ,user.credential.token); NSLog(@"nickname=%@" ,user.nickname); } else { NSLog(@"%@",error); } }];
效果图3d
源码:
https://github.com/andli0626/wx_authlogin_by_sharesdk.gitcode
主要分2种状况:orm
APP自己有一套本身的用户系统,微信登陆只是一种登陆方式,那么就须要实现原有用户与微信用户的绑定
补充说明:
要数据,不要功能
若是你的应用拥有用户系统,就是说你的应用本身就有注册和登陆功能,使用第三方登陆只是为了拥有更多用户,那么你能够依照下面的步骤来作:
一、用户触发第三方登陆事件 二、showUser(null)请求受权用户的资料(这个过程当中可能涉及受权操做) 三、若是onComplete()方法被回调,将其参数Hashmap代入你应用的Login流程 四、不然提示错误,调用removeAccount()方法,删除可能的受权缓存数据 五、Login时客户端发送用户资料中的用户ID给服务端 六、服务端断定用户是已注册用户,则引导用户进入系统,不然返回特定错误码 七、客户端收到“未注册用户”错误码之后,代入用户资料到你应用的Register流程 八、Register时在用户资料中挑选你应用的注册所需字段,并提交服务端注册 九、服务端完成用户注册,成功则反馈客户端引导用户进入系统 十、不然提示错误,调用removeAccount()方法,删除可能的受权缓存数据
参考示例:好比简书,网易云音乐的账号绑定实现过程,都是值得借鉴的
APP自己没有本身的用户系统,微信登陆是惟一的入口,只要受权经过,就能够进入APP
补充说明:
要功能,不要数据
若是你的应用不具有用户系统,并且也不打算维护这个系统,那么你能够依照下面的步骤来作:
一、用户触发第三方登陆事件 二、调用platform.getDb().getUserId()请求用户在此平台上的ID 三、若是用户ID存在,则认为用户是合法用户,容许进入系统;不然调用authorize() 四、authorize()方法将引导用户在受权页面输入账号密码,而后目标平台将验证此用户 五、若是onComplete()方法被回调,表示受权成功,引导用户进入系统 六、不然提示错误,调用removeAccount()方法,删除可能的受权缓存数据
对于iOS应用,考虑到iOS应用商店审核指南中的相关规定,建议开发者接入微信登陆时,先检测用户手机是否已安装微信客户端,对未安装的用户隐藏微信登陆按钮,只提供其余登陆方式(好比手机号注册登陆、游客登陆等)
ShareSDK 第三方登陆 官方文档
http://wiki.mob.com/%E7%AC%AC%E4%B8%89%E6%96%B9%E7%99%BB%E5%BD%95/#h1-0
微信开放平台 登陆受权整合 官方说明文档
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token=&lang=zh_CN