iis服务器助手广告
返回顶部
首页 > 资讯 > 移动开发 >支付宝小程序授权登录 (Java 后台篇)
  • 528
分享到

支付宝小程序授权登录 (Java 后台篇)

java小程序开发语言支付宝小程序授权登录 2023-10-05 16:10:28 528人浏览 独家记忆
摘要

支付宝小程序授权登录 (Java 后台篇) 开始 : 实现支付宝小程序授权登录功能, 本文主要是介绍支付宝小程序授权登录流程,与关键登录与处理代码. 流程 : 关键代码 : 1.获取用户

支付宝小程序授权登录 (Java 后台篇)
开始 :

实现支付宝小程序授权登录功能, 本文主要是介绍支付宝小程序授权登录流程,与关键登录与处理代码.


流程 :

支付宝小程序登录流程图


关键代码 :

1.获取用户信息

    private Map getAuthToken(String grantType,String code,String refreshToken) throws AlipayapiException {            AlipayClient alipayClient = new DefaultAlipayClient(                "https://openapi.alipay.com/gateway.do",  // 请求支付宝网关地址,建议定义为常量保存                appId,       // 小程序APPID,建议存储在配置中心中,动态获取.               secreTKEy ,  // 小程序密钥,建议存储在配置中心中,动态获取.                "JSON",  // 仅支持jsON                "charset",  // 请求使用的编码格式,如utf-8,gbk,gb2312等                publicKey,  // 小程序公钥,建议存储在配置中心中,动态获取.                signType);  // 商户生成签名字符串所使用的签名算法类型,推荐使用RSA2                        AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();// 构建请求参数        request.setGrantType(grantType);        request.setCode(code);        if(ObjectUtils.isNotEmpty(grantType)){            request.setGrantType(grantType);        }else if(ObjectUtils.isNotEmpty(refreshToken)){            request.setRefreshToken(refreshToken);        }        // 响应        AlipaySystemOauthTokenResponse response = alipayClient.execute(request);        if(response.isSuccess()){            log.info("[AlipaySystemOauthTokenResponse] >>>> Succeed!");            return BeanConvertUtils.objectToMap(JSON.parseObject(response.getBody()));        } else {            log.error("[AlipaySystemOauthTokenResponse] = Fail! Cause:{}",response.getSubMsg());            throw new AlipayApiException("获取支付宝信息失败,请稍后再试!");        }    }

2.获取用户手机号

    private Map infoDecode(String data) throws Exception {        // 1. 获取验签和解密所需要的参数        Map<String, String> openapiResult =                JSON.parseObject(data, new TypeReference<Map<String, String>>() {}, Feature.OrderedField);        // 加签算法        String signType = "RSA2";        // 验签和解密用的字符集        String charset = AliConstant.CHARSET;        // 加密算法        String encryptType = "AES";        // 返回码        String code = "code";        String sign = openapiResult.get("sign");        String content = openapiResult.get("response");        // 是否加密        boolean isDataEncrypted = !content.startsWith("{");        // 是否验签通过        boolean signCheckPass = false;        // 2. 验签        String signContent = content;                String signVeriKey = aliConfig.getPublicKey();        String decryptKey = aliConfig.getDecryptKey();        // 如果是加密的报文则需要在密文的前后添加双引号        if (isDataEncrypted) {            signContent = "\"" + signContent + "\"";        }        try {            signCheckPass = AlipaySignature.rsaCheck(signContent, sign, signVeriKey, charset, signType);        } catch (AlipayApiException e) {            // 验签异常            log.error("支付宝解密用户信息 >>> 验签异常:{}",e.getMessage());        }        // 验签不通过(异常或者报文被篡改),终止流程(不需要做解密)        if (!signCheckPass) {            throw new AlipayApiException("验签失败");        }        // 3. 解密        String plainData = null;        if (isDataEncrypted) {            try {                plainData = AlipayEncrypt.decryptContent(content, encryptType, decryptKey, charset);            } catch (AlipayApiException e) {                // 解密异常, 记录日志                log.error("Decode AbnORMal:{}",e.getMessage());                throw new AlipayApiException("解密异常");            }        } else {            plainData = content;        }        // 自定义转换 String 转 Map        Map map = BeanConvertUtils.objectToMap(JSON.parseObject(plainData));        if (map != null && AliConstant.SUCCEED_CODE.equals(map.get(code))) {            return map;        }else{            log.error("Decode Fail :{}",map);            throw new AlipayApiException("解密失败");        }    }

关键参数指南 :

AppId : 支付宝开放平台 ⇒ 控制台 ⇒ 左上角

公钥密钥: 支付宝开放平台 ⇒ 控制台 ⇒ 开发设置 ⇒ 接口加签方式(密钥/证书)
(如图所示:)
请添加图片描述

加密解密密钥: 支付宝开放平台 ⇒ 控制台 ⇒ 开发设置 ⇒ 接口内容加密方式(密钥/证书)
(如图所示:)
请添加图片描述

调用相关接口也需要开通相关权限(需要填写资料):
请添加图片描述


来源地址:https://blog.csdn.net/AKALXH/article/details/130685053

--结束END--

本文标题: 支付宝小程序授权登录 (Java 后台篇)

本文链接: https://www.lsjlt.com/news/423778.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 支付宝小程序授权登录 (Java 后台篇)
    支付宝小程序授权登录 (Java 后台篇) 开始 : 实现支付宝小程序授权登录功能, 本文主要是介绍支付宝小程序授权登录流程,与关键登录与处理代码. 流程 : 关键代码 : 1.获取用户...
    99+
    2023-10-05
    java 小程序 开发语言 支付宝小程序 授权登录
  • Java接入支付宝授权第三方登录的完整步骤
    开发前准备 支付宝开发平台. 支付宝沙箱环境申请使用 !!!重点 授权回调地址必须要写全路径也就是controller最终路径(下面有具体细节) RSA2的密钥生成: 支付宝提供...
    99+
    2024-04-02
  • 微信小程序的授权登录-Java 后端 (Spring boot)
    微信开发文档链接:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 1. 前提 一个可以测试的微信小程序此微信小程序的APP...
    99+
    2023-10-18
    微信小程序 java spring boot
  • 微信小程序授权登录
    微信小程序—授权登录 一、小程序登录 登录流程时序 说明: 1.小程序端调用 wx.login() 获取临时登录凭证code ,并回传到开发者服务器。 2.服务器调用 code2Session 接口,换取 用户唯一标识 OpenID 和 ...
    99+
    2023-09-01
    微信小程序 小程序 微信 授权登录
  • uniapp-小程序登录授权框
    微信官方文档 不弹出授权框原因 因为版本问题,目前的最新的版本是不支持 wx.getUserInfo 去主动弹出授权框 只能引导用户去点击 butten 去授权 解决方法         我的思路是参考了其他的微信微信小程序, 就是跳转...
    99+
    2023-09-12
    uni-app 小程序
  • 微信小程序如何授权登录
    小编给大家分享一下微信小程序如何授权登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!注:没有在微信开放平台做开发者资质认证的就...
    99+
    2024-04-02
  • 怎么授权登录微信小程序
    本篇文章为大家展示了怎么授权登录微信小程序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。授权登录的基本流程上图是微信小程序官网提供的授权登录基本流程图,这里我只从前端开发的角度来讲解一下该流程。通过...
    99+
    2023-06-08
  • 小程序授权登录流程详情步骤
    样式展示实例: 这个原理是: 我们开发的软件 ,调用微信app弹框,这个框主要是获取当前微信登录的用户的信息( 允许/取消) 允许就是允许我们开发的软件,获取微信的登录的用户信息 通俗: 获取微信用户的信息去登录 不允许 通俗: ...
    99+
    2023-08-31
    小程序
  • 微信小程序如何实现授权登录
    这篇文章给大家分享的是有关微信小程序如何实现授权登录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言由于微信官方修改了 getUserInfo 接口,所以现在无法实现一进入...
    99+
    2024-04-02
  • 如何实现小程序授权登录功能
    这篇文章主要介绍“如何实现小程序授权登录功能”,在日常操作中,相信很多人在如何实现小程序授权登录功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现小程序授权登录功能”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-04
  • 怎么实现小程序的登录与授权
    这篇文章主要介绍怎么实现小程序的登录与授权,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!登录:如果我们要实现小程序的登录,不妨尝试在开启小程序的时候完成登录。也就是说我们可以在app.js中的onlaunch方法中添...
    99+
    2023-06-06
  • 简单实现小程序授权登录功能
           本人给大家带来了关于微信小程序的相关知识,其中主要介绍了怎么实现小程序授权登录功能的相关内容,下面一起来看一下,希望对大家有帮助。        在我们平时工作、学习、生活中,微信小程序已成为我们密不可分的一部分,我们仔细留意...
    99+
    2023-09-02
    小程序
  • 新版小程序怎么实现登录授权
    这篇文章主要介绍新版小程序怎么实现登录授权,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!小程序自上线以来,官方一直在调整API,因此也出现了一批被废弃的接口,作为程序员的我们,此时此...
    99+
    2024-04-02
  • 【微信授权登录】uniapp开发小程序,实现获取微信授权登录功能
    一、解题思路: 微信授权登录(获取用户信息) 1.先获取用户信息——用户授权允许后,通过调用uni.login 可以获取到code。 2.拿着获取到的code去调用——登录接口,可以获取到token。 3.把token存入缓存。就可以在页面...
    99+
    2023-08-16
    小程序 微信 javascript
  • 简单实现微信小程序授权登录
    可以直接复制粘贴,只需要改一些东西就可以了 首先在wxml中用微信自带的button开放属性 授权登录 然后在对应的js中创建一个login方法,因为上面bindtap指向的是login,所以就要创建一个新的方法 login(evt){/...
    99+
    2023-10-04
    php 微信小程序
  • 小程序中如何进行用户授权登录
    在小程序中进行用户授权登录通常涉及以下步骤: 在小程序中引导用户点击登录按钮或进行其他操作触发登录流程。 调用小程序的API获取用...
    99+
    2024-04-17
    小程序
  • 如何实现微信小程序之授权登录
    这篇文章主要介绍如何实现微信小程序之授权登录,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.实现思路自己写一个微信授权登录页面让用户实现点击的功能,也就是实现了通过 button 组件去触发 getUserInof...
    99+
    2023-06-14
  • uniapp小程序 手机号授权一键登录 小程序接口调用getPhoneNumber java+uniapp
    uniapp 前端 uniapp登录按钮: (在button加上这俩个参数) open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" 微信授权登录 methods方法区...
    99+
    2023-09-28
    uni-app 小程序 微信
  • 如何实现uni-app微信小程序授权登录
    小编给大家分享一下如何实现uni-app微信小程序授权登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、appID相关申请和配置1. appid获取方式登录微...
    99+
    2023-06-22
  • 【Springboot】整合wxjava实现 微信小程序:授权登录
    文章目录 一、wxjava是什么二、使用步骤1.引入依赖2.配置yml3.小程序的配置4.后端的业务逻辑代码controllerserviceimpldto 5.前端的业务逻辑代码新建...
    99+
    2023-09-09
    微信小程序 spring boot 小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作