• 阿里百川授权淘宝登录


    1.前期准备

    登录百川https://baichuan.taobao.com/
    点击立即使用

    点击创建应用

    我们可以看到,创建一个应用很简单,可是它要输入一个app下载地址,这个如果是公司在开发中有下载地址还好,但是对于我们未开发完成就要集成或者是我们只是单纯学习一下登录,这就没得办法了。
    在这里我是随便输入了一个自己在github上apk的下载地址,应用就直接创建了。
    点击我的产品后台,开通百川电商sdk
    下载安全图片

    2.环境配置

    应用已经创建好了,我们就要考虑sdk的接入了,百川的文档很详细
    https://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.7f33be48OcKzFC&treeId=129&articleId=118400&docType=1
    在整个项目的gradle基础配置文件中加入仓库地址:(必须要进行配置,不然我们需要的依赖同步不下来)

    allprojects {
     repositories {
       jcenter()
           maven {
                url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
            }
        }
    }
    

    在项目module的gradle文件中加入相关依赖(文档中提供了几种依赖的导入方式,这种是最简单的)

    dependencies { 
     ..... 
     //支付宝(可选) 
     implementation 'com.alipay.android.app.cashier:standardcashier-single:15.6.5@aar'
     compileOnly 'com.alipay.mobile.android.securitysdk:apsecuritysdk-all:3.3.0'
     //登陆 
     implementation 'com.ali.auth.sdk:alibabauth_core:2.0.0.6@aar'
     implementation 'com.ali.auth.sdk:alibabauth_ui:2.0.0.6@aar'
     implementation 'com.ali.auth.sdk:alibabauth_ext:2.0.0.6@aar'
     //安全组件 
     implementation 'com.taobao.android:securityguardaar3:5.4.171@aar'
     implementation 'com.taobao.android:securitybodyaar3:5.4.99@aar'
     implementation 'com.taobao.android:avmpaar3:5.4.36@aar'
     implementation 'com.taobao.android:sgmiddletieraar3:5.4.9@aar'
     //Mtop 
     implementation 'com.taobao.android:mtopsdk_allinone_open:3.1.2.5@jar'
     //applink 
     implementation 'com.alibaba.sdk.android:alibc_link_partner:4.1.15@aar'
     //ut 
     implementation 'com.taobao.android:utdid4all:1.5.2'
     implementation 'com.alibaba.mtl:app-monitor-sdk:2.6.4.5_for_bc'
     // 电商基础组件 
     implementation 'com.alibaba.sdk.android:AlibcTradeCommon:4.0.0.8@aar'
     implementation 'com.alibaba.sdk.android:AlibcTradeBiz:4.0.0.8@aar'
     implementation 'com.alibaba.sdk.android:nb_trade:4.0.0.8@aar'
     implementation 'com.alibaba:fastjson:1.2.41'
     ..... 
    }
    

    好了,到这里我们的环境就配置好了,接下来可以进行代码的编写了。

    3.代码

    //不要忘记在清单文件中配置
    public class AliLoginApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            initAlibcTradeSDK();
        }
    
        private void initAlibcTradeSDK() {
            AlibcTradeSDK.asyncInit(this, new AlibcTradeInitCallback() {
                @Override
                public void onSuccess() {
                    Log.d("Tag","百川初始化成功");
                }
    
                @Override
                public void onFailure(int i, String s) {
                    Log.d("Tag","百川初始化失败");
                }
            });
        }
    }
    
     public void getLogin(){
            AlibcLogin alibcLogin=AlibcLogin.getInstance();
            alibcLogin.showLogin(new AlibcLoginCallback() {
                @Override
                public void onSuccess(int i, String s, String s1) {
                    Log.d("Tag","登录成功");
                    Log.i("Tag", "获取淘宝用户信息: "+AlibcLogin.getInstance().getSession());               
                }
    
                @Override
                public void onFailure(int i, String s) {
        Log.d("Tag","登录失败");
                }
            });
    

    这里看一下效果


    demo传送门
    从代码中我们可以看到,我们并没有传递appkey和secret,那么登录的时候是如何判定我们登录的是哪一个应用呢,安全图片,就是因为安全图片我们才可以成功调起来淘宝登录并授权,所以一定不要忘记安全图片。

    4.淘宝登录遇到的坑

    ①错误码123,是因为我们的gradle插件等级太高,我是降级到3.2
    ②百川初始化失败,这当然是因为安全图片的问题
    ③登录的时候服务器出错,这是因为没有开通百川电商sdk,就是我们的准备工作没做好
    ④我们开通了电商sdk,还是报服务器出错,过一会儿就好了

  • 相关阅读:
    SpringBoot部署jar与war
    Calendar代替Date常用方法小记
    Zookeeper注册中心底层实现小记
    1480. Running Sum of 1d Array
    700. Search in a Binary Search Tree
    1410. HTML Entity Parser
    1409. Queries on a Permutation With Key
    1408. String Matching in an Array
    1404. Number of Steps to Reduce a Number in Binary Representation to One
    1405. Longest Happy String
  • 原文地址:https://www.cnblogs.com/dearnotes/p/13278756.html
Copyright © 2020-2023  润新知