uniapp APP端支付宝授权登录免费插件

想通过原生SDK实现的方式是因为不想弄重定向页面,主要是嫌麻烦。
本插件使用的是支付宝极简版,兼容Android与iOS。

免费插件地址:https://ext.dcloud.net.cn/plugin?id=13888

使用步骤:

一、勾选支付宝并配置UrlSchemes、minSdkVersion

  1. manifest.json --> App模块配置 --> Payment 勾选支付宝。
  2. manifest.json --> App常用其他配置 --> 分别配置Android和iOS UrlSchemes。
  3. Android端需要在UrlSchemes下方的minSdkVersion配置为 21。

二、导入插件

manifest.json --> App原生插件配置 --> 云端插件 中勾选本插件。

三、重新打包自定义基座

以上步骤完了之后重新打包Android和iOS自定义基座运行(当原生文件有变动的时候都需要重新打自定基座或者正式包),最好是卸载APP,并删除unpackage/debug/..下的Android和iOS debug包并重新打自定义基座运行,不排除可能会有缓存,之前有遇到过。

四、js端调用


const AlipayAuth = uni.requireNativePlugin("DHQ-AlipayAuth")

//支付宝官方SDK参考链接:https://opendocs.alipay.com/open/218/wy75xo?pathHash=03eeb9c7
//传入参数后拼接的而成的链接参考:https://authweb.alipay.com/auth?auth_type=PURE_OAUTH_SDK&app_id=2016051801417322&scope=auth_user&state=init
    

    AlipayAuth.login({
          appId: '200000000000004',  //你在支付宝平台申请的App ID
          scheme: 'alixpayhbilderhello'  // 需要传到支付宝SDK的scheme,注意需要在manifest.json-->App其他常用配置-->UrlSchemes中配置Android和iOS的
        },
        (res) => {
            console.log('原生授权返回res', res)
            //客户端成功获取授权临时票据(code),向业务服务器发起登录请求。
            let code = res.auth_code
    })
                    

返回事例


{"scope":"auth_user","result_code":"SUCCESS","state":"init","app_id":"2xxxxxxxxxxxx4","auth_code":"xxxxxxxxxxxxxxxxx"}

scheme 介绍:

稍微解释下这个参数,这个参数你可以理解为第三方应用用来找到你的app用的,也是解决回跳你的APP的一个参数,当你把这个参数传到支付宝的SDK后,就相当于你告诉了支付宝要通过这个scheme返回你的应用,因为从第三方回跳你的应用的时候,属于是第三方打开你的应用。scheme可以随意设置,不要重名即可。

例如:你的app的scheme设置为bbb,你手机支付宝APP想打开你的应用,需要在你已安装的手机应用里,找到带有bbb标志的scheme,也可以理解为你设置了一个bbb地址,别人就可以通过这个bbb地址来方便找到你一个意思。

支付宝网页版授权回调地址介绍:

支付宝的网页版重定向授权页面redirect_uri里面(即:支付宝开放平台->开发配置->授权回调地址),在这个页面里面做回跳的时候,也是需要在这个redirect_uri页面中填写你在应用设置的bbb这个scheme,并且还要把支付宝授权后的东西解析分离出来,然后回跳的时候带上授权后并解析出来的auth_code等参数带回你的app。

其实网页版授权你可以理解为支付宝留了个webview,让你填上这个webview uri链接,而这个uri就是这个redirect_uri页面,然后在这个页面里面做打开其他app操作。这个redirect_uri该怎么做,网上搜uniapp支付宝授权登录是有的,完成后,放到自己公网可访问的服务器下,就算是完成了。我就是因为觉得这些操作很麻烦,加上公司领导觉得还是调用原生的SDK体验好一些,所以就弄了这个插件。 这个链接下https://blog.csdn.net/qq_39236283/article/details/125968384有说明redirect_uri页面的制作步骤。

  • 使用声明:本插件仅用于uni支付宝快速极简授权开发,不得使用本插件用于其他营业、转售目的,转发需注明出处。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。