iOS 对接阿里百川淘宝授权随笔

最近做项目 对接阿里百川淘宝授权,遇到一些问题 记录下.

首先按照阿里百川的文档

https://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.3d89be48b5Xppt&treeId=129&articleId=118399&docType=1

会触发淘宝登录授权

// 最新SDK授权头文件

#import 

#import 

#import 


if(![[ALBBCompatibleSession sharedInstance] isLogin]) {

        [[ALBBSDK sharedInstance] setH5Only:NO];

        [[ALBBSDK sharedInstance] auth:self successCallback:^{

            NSString*tip = [NSStringstringWithFormat:@"登录的用户信息:%@",[[ALBBCompatibleSessionsharedInstance] getUser]];

            DLog(@"%@", tip);

            ///已经授权登录成功

            [self authTaobaoWeb];      

  }failureCallback:^(NSError*error) {

            NSString *tip=[NSString stringWithFormat:@"登录失败:%@",@""];

            DLog(@"%@", tip);

        }];


    }else{

        NSString*tip = [NSStringstringWithFormat:@"登录的用户信息:%@",[[ALBBCompatibleSessionsharedInstance] getUser]];

        DLog(@"%@", tip);

        ALBBUser *user = [[ALBBCompatibleSession sharedInstance] getUser];

        self.abbUser= user;

        ///已经授权登录成功

        // https://oauth.m.taobao.com/authorize?response_type=code&client_id=23075594&redirect_uri=http://www.oauth.net/2/&state=1212

    }


百川和联盟的API不是同一个AppKey,通过百川授权联盟私域用户能力阅读以下流程

1)在百川控制台申请“淘宝客基础页面包”套件

2)申请通过后,在确保百川授权成功后,使用百川的openByUrl接口加载私域用户授权URL,具体查看无线端授权规范文档拼接URL(AlibcTrade.openByUrl,请使用最新版本的SDK)

3)回跳url的code,4.0需要从服务端获取,是到媒体自己的服务器,由回跳的媒体服务端自己接收处理。

4)关闭当前页面是需要媒体处理的,可以使用webview JSBridge关闭。

若百川授权成功后,应用授权还需要输入账号密码,请按照上面流程(着重查看1、2),认真检查下~

在登录授权成功后 我们需要按照上面的步骤 拼接URL 


NSString *taobaoURL = @"https://oauth.m.taobao.com/authorize?response_type=code&client_id=23075594&redirect_uri=http://www.oauth.net/2/&state=1212";

AlibcTradeShowParams *showParames = [[AlibcTradeShowParams alloc] init];

    showParames.openType = AlibcOpenTypeAuto;

    showParames.isNeedPush=YES;

    ALiTradeWebViewController *webViewController = [[ALiTradeWebViewController alloc] init];

    NSInteger res = [[AlibcTradeSDK sharedInstance].tradeService

                     openByUrl:autoURL

                     identity:@"trade"

                     webView:webViewController.webView

                     parentController:webViewController

                     showParams:showParames

                     taoKeParams:nil

                     trackParam:nil

                     tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable result) {

                        DLog(@"result=%@",result);

                    }

                     tradeProcessFailedCallback:^(NSError*_Nullableerror) {

                        DLog(@"error=%@",error);


                    }];


    if(res ==1) {

        [webViewController setNavigationDelegate]; // 重点  这里重新设置代理 才能拦截URL链接跳转 做自己想做的事  否则拦截不到.

        webViewController.modalPresentationStyle = UIModalPresentationFullScreen;

        [self.navigationController presentViewController:webViewController animated:YES completion:nil];

    }

// 这个时候 才能拿到授权code 和后台交互. 

OVER.

你可能感兴趣的:(iOS 对接阿里百川淘宝授权随笔)