一、友盟集成第三方登录
2、直接在相关界面中设置UMSocialCore.framework中的 - (void)getUserInfoWithPlatform:(UMSocialPlatformType)platformType currentViewController:(id)currentViewController completion:(UMSocialRequestCompletionHandler)completion; 方法,则在用户成功授权后可在回调block中获取用户基础可见的数据
参数说明:U-Share第三方登录参数说明
3、依照“登录”接口的参数要求,使用用户的相关数据做登录操作。公司服务器后台会根据上传的用户数据做相关操作(我司的操作是根据用户的相关信息检测是否已注册,若注册则直接登录,若未注册则先为其注册再执行登录)。
ps:用户第三方登录可能会出现以下几种情况:
a、用户手机未安装app则跳转到网页并先进行账号登录再授权,b、安装了app但是未登录 则先跳转到登录页进行账号登录再授权,c、用户已登录第三方app 则直接进行授权。
二、微信授权登录
1、使用cocoaPods集成微信sdk,pod 'WechatOpenSDK' 请参考:cocoaPods使用;或手动下载导入sdk请参考:官方集成文档
2、在appdelegate中引入#import <WXApi.h>并遵从WXApiDelegate协议。
因为上述两个方法在ios10之后被弃用,所以可以用以下方法替换。
3、在appdelegate中实现WXApiDelegate协议中的 -(void)onResp:(BaseResp*)resp 方法。sendReq请求调用后,会切换到微信终端程序并显示授权界面。用户授权或取消后会返回到app并回调onResp方法,可在该方法中获取 SendAuthResp中的code参数。
4、在需要登录的界面中
通过sendReq请求获取code
通过code获取access_token(即用户授权标识符)
通过access_token获取用户信息
5、根据相关用户信息调用登录接口做登录操作。
注:关于access_token的有效期请移步:微信官方文档