Android 支付宝授权登录

实现效果:

                        

实现步骤

1、打开手机支付宝APP扫描登录 蚂蚁金服|开发平台 

链接:https://open.alipay.com/platform/home.htm


登录后,点击  管理中心——>网页&移动应用——>支付接入——创建应用

创建成功,并签约 无线账户授权,显示已签约则成功

2、设置密钥,及APPID


鼠标放到【主账号】上,下拉,点击  密钥管理,,,,注意是mapi网关下的密钥

设置应用公钥:https://docs.open.alipay.com/291/105971

3、配置密匙成功即可实现调用支付宝SDK授权登录

(1)五个工具类,是固定值,直接cp

(2)、activity调用支付宝登录方法

/**
 * 支付宝账户授权业务示例
 */
public void authV2(View v) {
    if (TextUtils.isEmpty(PID) || TextUtils.isEmpty(APPID)
            || (TextUtils.isEmpty(RSA2_PRIVATE) && TextUtils.isEmpty(RSA_PRIVATE))
            || TextUtils.isEmpty(TARGET_ID)) {
        showAlert(this, "支付宝授权参数缺失");
        return;
    }

    /*
     * 这里只是为了方便直接向商户展示支付宝的整个支付流程;所以Demo中加签过程直接放在客户端完成;
     * 真实App里,privateKey等数据严禁放在客户端,加签过程务必要放在服务端完成;
     * 防止商户私密数据泄露,造成不必要的资金损失,及面临各种安全风险;
     *
     * authInfo 的获取必须来自服务端;
     */
    boolean rsa2 = (RSA2_PRIVATE.length() > 0);
    Map<String, String> authInfoMap = OrderInfoUtil2_0.buildAuthInfoMap(PID, APPID, TARGET_ID, rsa2);
    String info = OrderInfoUtil2_0.buildOrderParam(authInfoMap);

    String privateKey = rsa2 ? RSA2_PRIVATE : RSA_PRIVATE;
    String sign = OrderInfoUtil2_0.getSign(authInfoMap, privateKey, rsa2);
    final String authInfo = info + "&" + sign;
    Runnable authRunnable = new Runnable() {

        @Override
        public void run() {
            // 构造AuthTask 对象
            AuthTask authTask = new AuthTask(MainActivity.this);
            // 调用授权接口,获取授权结果
            Map<String, String> result = authTask.authV2(authInfo, true);

            Message msg = new Message();
            msg.what = SDK_AUTH_FLAG;
            msg.obj = result;
            mHandler.sendMessage(msg);
        }
    };

    // 必须异步调用
    Thread authThread = new Thread(authRunnable);
    authThread.start();
}

(3)剩下属于后台开发

如果status和code都正确,则认为授权成功。
此时把AuthResult的里的auth_code传给后台兄弟,他们需要这个auth_code去向支付宝换取access_token,然后才能去拿支付宝的用户公开信息返回给app

demo链接:https://download.csdn.net/download/meixi_android/11363133

在线交流bug:QQ1085220040

发布了339 篇原创文章 · 获赞 66 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/meixi_android/article/details/96114012