iOS中第三方账号登录(以新浪微博为列)

今天抽空记录一下利用友盟进行第三方账号登录的过程,以后在项目中集成时候省的浪费时间。友盟的一些基本sdk先导入工程,并设置对应的appkey之类的,这些参考一下友盟分享(这个比较常见,项目中分享常用第三方的话一般都是友盟,这个不多说)。
友盟第三方登录官方文档入口:http://dev.umeng.com/social/ios/login-page
新浪微博登录:
根据文档提示,我们在点击登录的地方写入

UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina]; 
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
// 获取微博用户名、uid、token等 
if (response.responseCode == UMSResponseCodeSuccess) { 
NSDictionary *dict = [UMSocialAccountManager socialAccountDictionary]; UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:snsPlatform.platformName]; 
NSLog(@"\nusername = %@,\n usid = %@,\n token = %@ iconUrl = %@,\n unionId = %@,\n thirdPlatformUserProfile = %@,\n thirdPlatformResponse = %@ \n, message = %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL, snsAccount.unionId, response.thirdPlatformUserProfile, response.thirdPlatformResponse, response.message);
 }});

代码就这一点,看起来很简单轻松,可是小伙伴们是不是发现自己跳转新浪微博时候会报error:redirect_uri_mismatch或者sso package or sign error,哈哈,让我们来解决这些错误。

登录和分享是不一样的,第三方账号登录,会提取第三方账户的信息,所以,你得先让第三方诸如微博之类的相信你这个开发者,相信你这个app是正规的,才能放心把信息交给你,所以我们需要到对应的开发者平台注册信息。(新浪微博开发者中心http://open.weibo.com/
找到我的应用(不管你是做分享还是登陆,用友盟第三方,都要提供一个新浪的key和App Secret,所以你必须得为你的app创建一个对应的开发者平台的应用信息),在基本信息里面填写对应的信息,bundle ID 需要跟你用的这个应用的bundle id一样要不然会报sso package or sign error。
最下面的应用介绍图片,你需要提供的图片是你应用中用到新浪微博的地方(我在这提供的是分享的,登录的你提供也行,只要和他新浪有关他应该都会给过的),我本人在这里第一次随便给了三张图,结果被拒了。。

89461BEB-0E8D-4D35-A294-BD245D857723.png

基本信息里面的 安全域名 ,选择是,要设置成sns.whalecloud.com,不要问我为什么。

Paste_Image.png

然后该填的填了,就提交吧,等待审核成功,说是一天,有时候一个小时就过了,看你运气了。
当然了,这里还不够,在高级信息里面,将回调页全部设置成http://sns.whalecloud.com/sina2/callback
这个是和你代码中的url对应的,见下图

Paste_Image.png
Paste_Image.png

好了,到这就行了,然后运行你的程序吧,点击登录按钮,调用一开始写的代码,然后就跳转账户授权中心,点击确定,获取用户信息(该用户的基本信息都被我们抓取到啦~~~毕竟官方都承认我们不是坏人了..)

Paste_Image.png
Paste_Image.png

好了,到这就完成了新浪微博的账户登录,其他的像qq,微信,都是一样的,也要去对应的腾讯开发者中心,微信开发者中心注册一系列东西,要得到信任,才能去获取他人信息!总是要麻烦点。
提一下qq的,需要添加两个url schemes(分享只需要一个就行,我之前添加的QQ+16进制的key,写登录需要再添加一个tencent+key)

Paste_Image.png

如果你喜欢的话,点个赞吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,386评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,205评论 4 61
  • 在伸手触不到的地方 海岸改变了航向 星子一颗颗跌落 是我把灯 点到了 那条 永远都不会再经过的路上 灼伤 与哑...
    风寒如雪阅读 1,462评论 0 1
  • 儿时的我们总是那么纯真,憧憬着未来的美好。一路走来,春繁、夏盛、秋凉、冬寒,经历过多少次的四季轮回;人来人...
    旁观者的旁观者阅读 3,499评论 0 0
  • 什么是https? 当然很多人最开始了解的是https,简单讲就是想让自己的网站更安全,可以开发小程序。 什么是s...
    2d169b448a10阅读 4,724评论 0 2