先获取支付宝公钥证书信息,详见文档:
https://mp.csdn.net/mp_blog/creation/editor/118103200
通过证书信息获取access_token 信息。然后在通过access_token  获取授权用户信息
/* 初始化 **/
CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
/* 支付宝网关 **/
certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");
/* 应用id,如何获取请参考:https://opensupport.alipay.com/support/helpcenter/190/201602493024 **/
certAlipayRequest.setAppId(AppId);
/* 应用私钥, 如何获取请参考:https://opensupport.alipay.com/support/helpcenter/207/201602471154?ant_source=antsupport **/
certAlipayRequest.setPrivateKey(PrivateKey);
/* 应用公钥证书路径,下载后保存位置的绝对路径 **/
certAlipayRequest.setCertPath("/appCertPublicKey_202.crt");
/* 支付宝公钥证书路径,下载后保存位置的绝对路径 **/
certAlipayRequest.setAlipayPublicCertPath("/alipayCertPublicKey_RSA2.crt");
/* 支付宝根证书路径,下载后保存位置的绝对路径 **/
certAlipayRequest.setRootCertPath("/alipayRootCert.crt");
/* 设置签名类型 **/
certAlipayRequest.setSignType("RSA2");
/* 设置请求格式,固定值json **/
certAlipayRequest.setFormat("json");
/* 设置编码格式 **/
certAlipayRequest.setCharset("UTF-8");
AlipayClient alipayClient = null;
try {alipayClient = new DefaultAlipayClient(certAlipayRequest);
} catch (AlipayApiException e1) {e1.printStackTrace();
}AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
logger.info("进入换取授权访问令牌获取支付宝昵称接口-------------request=" + request.toString());
request.setGrantType("authorization_code");
//  auth_code  前端授权后得到的授权码
request.setCode(auth_code);
String accessToken = null;
try {AlipaySystemOauthTokenResponse response = alipayClient.certificateExecute(request);logger.info("进入换取授权访问令牌获取支付宝昵称接口-------------接口响应=" + response.toString());if (response.isSuccess()) {accessToken = response.getAccessToken();logger.info("调用成功:accessToken=" + accessToken);} else {logger.info("accessToken调用失败");}
} catch (AlipayApiException e) {logger.error("支付宝换取授权访问令牌异常", e);
}//通过 access_token 获取用户的 userId、昵称、头像等基础信息。
AlipayUserInfoShareRequest request1 = new AlipayUserInfoShareRequest();
JSONObject jsonObject = new JSONObject();
try {AlipayUserInfoShareResponse response = alipayClient.certificateExecute(request1, accessToken);if (response.isSuccess()) {String nickName = response.getNickName();String userId = response.getUserId();jsonObject.put("nickName", nickName);jsonObject.put("userId", userId);logger.info("通过 access_token 获取用户的信息接口调用成功:nickName=" + nickName + "=userId=" + userId);} else {logger.info("通过 access_token 获取用户的信息接口调用失败" + response);}
} catch (AlipayApiException e) {logger.error("支付宝用户的基础信息异常", e);
}
return jsonObject;

支付宝公钥证书获取授权后用户信息相关推荐

  1. 微信授权-获取微信授权后用户信息

    微信授权登陆: 我采用的是自定义的子菜单:登陆微信公众平台 第一步:用户同意授权.获取code 第二步:通过code换取网页授权access_token 详细步骤参考微信公众号平台 在页面地址输入授权 ...

  2. 钉钉授权时报获取钉钉用户信息失败,失败原因:访问ip不在白名单之中的解决办法

    前言 公司里的一个钉钉h5应用项目,进入里需要钉钉授权,提示:钉钉授权时报获取钉钉用户信息失败,失败原因:访问ip不在白名单之中的解决办法,这个错误有一段时间了,后来在官方的文档里找到解决方法 钉钉官 ...

  3. 支付宝公钥证书方式提现

    CertAlipayRequest certAlipayRequest = new CertAlipayRequest(); //gateway:支付宝网关(固定)https://openapi.al ...

  4. PHP 接入支付宝公钥证书指南

    为了简单快速的接入,在申请支付宝商户后,我们可通过沙箱应用进行测试 准备证书 首先登录支付宝开放平台沙箱环境:开放平台-沙箱环境 在 RSA2(SHA256)密钥 设置中的加签模式选择 公钥证书,然后 ...

  5. 支付宝公钥证书支付示例

    支付宝公钥证书支付示例 支付宝平台仅提供了普通公钥签名方式的电脑支付DEMO(下载),并未提供使用公钥证书的电脑支付DEMO,在阅读了老版的SDK之后,自己编写了这个DEMO. 效果图 支付测试页面 ...

  6. 微信公众号开发:获取openId和用户信息(完整版)

    注:之前总结怎么进行本地公众号开发调试,时间一长忘记开发配置却忘了,所以这里记录一下公众号开发配置,方便快速上手. 目录 开发前服务器配置 网页授权获取用户基本信息 snsapi_base snsap ...

  7. 微信小程序 - 登录获取openid和用户信息(适配getUserProfile)

    GitHub Demo 地址: jh-weapp-demo 实现一些常用效果.封装通用组件和工具类 小程序码 微信小程序中如果需要使用微信的用户信息建立自己的用户体系,需拿到唯一标识openid,然后 ...

  8. 支付宝公钥证书模式完整流程(代码)

    支付接口接入 String url=profileHttpUrl+"/aliPay/notifyApp";Orders orders = ordersJpaRepository.g ...

  9. tp框架接入支付宝公钥证书支付+回调

    了解支付宝支付之前先要了解电子商务,电子商务就是,把在先下购物,放到互联网上,人们可以通过网页或者手机直接的看到商品. 电子商务的模式分为很多, B2B(企业对企业,例如阿里巴巴) B2C (企业对个 ...

最新文章

  1. linux安装ActiveMQ
  2. iphone尺寸_iPhone折叠机概念图:屏幕双打孔,iPhone折叠机有多优秀!
  3. Redis(七)分布式锁
  4. JAVA面试常考系列六
  5. 【Linux操作系统分析】设备驱动处理流程
  6. 1069. 微博转发抽奖(20)
  7. Java ClassLoader getParent()方法与示例
  8. 用Swift完成不同View Controller之间的切换
  9. 如何让脸部变得越来越白?
  10. es6 Map,Set 和 WeakMap,WeakSet
  11. SWT里Slider和Scale的区别
  12. origin拟合曲线
  13. [易飞]关于应付账款明细帐余额余总账不平解决方案
  14. python中sorted函数逆序_python中sorted函数
  15. 计算机考研专业课靠什么,2021计算机考研:这4个科目 各科该如何备考?
  16. python PyPDF2处理PDF文件
  17. PMSM FOC 滑膜观测器 SMO 算法
  18. 自动化收取蚂蚁森林能量(无须连接电脑)
  19. Ubuntu 报错 WARNING:`gateway4` has been deprecated, use default routes instead... 解决方案
  20. 同IP反查域名的原理

热门文章

  1. android点击键盘外关闭软键盘
  2. 对于网上购票系统12306,如果你是架构师,你会怎么办?-论坛精彩回复整理
  3. GSM手机、CDMA手机、3G手机、4G手机
  4. 刻盘小知识----刻盘你知道多少?
  5. setInterval()方法的调用和停止。
  6. java陵行,蒲城唐陵行
  7. instanceof用法详解
  8. 用plc编写一个六层电梯的程序
  9. ASP导入Excel数据提示:外部数据库驱动程序(1)中的意外错误 解决办法
  10. 安全合规/ISO--8--ISO 27001实施历程