续上一篇友盟分享。集成好后,恭喜你第三方登陆你也集成好了。只要调方法就能实现 授权啦。
//此处调用授权的方法,你可以把下面的platformName 替换成 UMShareToSina,UMShareToTencent等
NSString *platformName = [UMSocialSnsPlatformManager getSnsPlatformString:snsType];
// 友盟社会化分享服务单例
[UMSocialControllerService defaultControllerService].socialUIDelegate = self;
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:platformName];
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
// 获取微博用户名、uid、token等
if (response.responseCode == UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:platformName];
NSLog(@"username is %@, uid is %@, token is %@ iconUrl is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
// 授权成功,获取用户信息,调用服务端的登陆接口
// 第三方获取信息成功,调用服务器api接口做第三方登录请求
[self getThirdLoginRequest:nil];
}
});
介绍下第三方登录:
1, 在第三方社交平台注册应用(AppID / AppKey)
2, 第三方登陆过程: 登陆 -> 获取授权 -> 获取用户信息(uid , usertoken, key, 头像, 昵称…) - > 使用用户信息当中的uid, usertoken或者 昵称 在自己的后台服务器登录(调后台接口)
普通登录: (后台)注册 -> (后台)登录 (从已经注册的用户信息表去找到该用户, 如果存在则登录, 如果不存在则登录失败)
第三方登录: (对于用户来讲)不需要注册 -> 获取第三方社交平台的用户信息 -> (后台)登录(先从后台的用户表中找该用户, 如果不存在该用户,自动注册用户并自动登录, 如果存在则直接登录)