Java 获取小程序openid(基于SpringBoot)
Java 获取小程序openid(基于SpringBoot)
1.引入Request
封装依赖
<!--Request依赖-->
<dependency>
<groupId>com.github.kevinsawicki</groupId>
<artifactId>http-request</artifactId>
<version>6.0</version>
</dependency>
2.封装请求
可以在开发者后台获取AppId
和AppSecret
WxMiniConfig
public class WxMiniConfig {
public static String AppId = "";
public static String AppSecret="";
}
构建接口请求
WxOpenData
import com.github.kevinsawicki.http.HttpRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
public class WxOpenData {
@RequestMapping(value = "/WxOpenData")
public String getWxOpenData(@RequestParam(value = "js_code",required = true) String js_code){
Map<String, String> data = new HashMap<String, String>();
data.put("appid", WxMiniConfig.AppId);
data.put("secret", WxMiniConfig.AppSecret);
data.put("js_code", js_code);
data.put("grant_type", "authorization_code");
String response = HttpRequest.get("https://api.weixin.qq.com/sns/jscode2session").form(data).body();
//JSONObject obj= JSON.parseObject(response);//将json字符串转换为json对
return response.toString();
}
}
3.小程序端请求写法
wx.login({
success: res => {
wx.request({
url: 服务地址 + '/WxOpenData',
data: {
js_code: res.code
},
success: _res => {
console.log(_res);//打印返回的openid 等信息 ,可以JSON.parse()提取
},
fail: _res => {
}
})
}
})
4. SSL证书校验问题
sun.security.provider.certpath.SunCertPathBuilderException
Protocol handler initialization failed
可以自己下载SSL证书Tomcat
版,配置到Resource
目录下。
application.properties
配置证书部分内容如下所示
#server.ssl.key-store=classpath:atlab.pfx
server.ssl.key-store=classpath:coms.pfx
#证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password=ARU3dlCp
#秘钥库类型
#server.ssl.key-store-type:PKCS12
server.ssl.key-store-type=JKS
之后重启后多请求几次即可恢复正常服务。
参考文档
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html
Java 获取小程序openid(基于SpringBoot)的更多相关文章
- python获取小程序手机号并绑定
最近在做小程序开发,在其中也遇到了很多的坑,获取小程序的手机号并绑定就遇到了一个很傻的坑. 流程介绍 官方流程图 小程序使用方法 需要将 <button> 组件 open-type 的值设 ...
- 微信小程序--简约风博客小程序(基于云开发 - 全开源)
微信小程序--简约风博客小程序(基于云开发 - 全开源) 项目启动纯属突发奇想,想看看博客小程序,例如wehalo博客小程序,但是感觉自建平台还要浪费自己的服务器算力,还没有访问量,省省吧. 本着白嫖 ...
- java的小程序在html中的运行测试
java的小程序在html中的运行测试,打开vs2012,以网站模式打开,生成,调用iis临时服务器运行.
- 微信小程序编译包的获取与解压——在手机中获取小程序编译包wxapkg
准备工作: 微信关注需要下载编译包的小程序,然后点进去看一下,微信就会自动下载相应的编译包到手机上了. 获取小程序编译包: 据说root手机可以直接在手机的文件管理中查找wxapkg文件,自己尝试了下 ...
- 福利贴——爬取美女图片的Java爬虫小程序代码
自己做的一个Java爬虫小程序 废话不多说.先上图. 目录命名是用标签缩写,假设大家看得不顺眼能够等完成下载后手动改一下,比方像有强迫症的我一样... 这是挂了一个晚上下载的总大小,只是还有非常多由于 ...
- 支付宝小程序开发——H5跳转到小程序(获取小程序页面的链接)
前言: 这个问题支付宝小程序官方文档并没有专门说明,钉钉群的官方技术支持给了个开发者社区的帖子,详见:如何跳转小程序. 如果配置的页面没有参数还好,不会出问题,如果有参数,很可能配出来的链接无法正常获 ...
- PHP获取小程序码并返回前端显示图片
小程序的二维码分为小程序码和二维码: 生成小程序二维码文档中说后端来生成. 参考 小程序开发文档资料:https://developers.weixin.qq.com/miniprogram/dev/ ...
- SpringBoot 获取微信小程序openid
最近做一个项目用到小程序,为了简化用户啊登录,通过获取小程序用户的openid来唯一标示用户. 1.官方教程 2.具体步骤 3.具体实现 4.可能出现的错误 5.代码下载 1.官方教程 先来看看官方怎 ...
- java后台获取微信小程序openid
一.jar包准备 1.在网盘下载 链接:https://pan.baidu.com/s/15HAAWOg_yn768g4s9IrcPg 提取码:hgj0 二.在pom文件中添加依赖 1.将外部的引入的 ...
随机推荐
- 【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)
1. HDFS概述 Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪 ...
- scu-4445
Right turn frog is trapped in a maze. The maze is infinitely large and divided into grids. It also c ...
- EDA : quartus2 17.1lite + modelsim +verilog 使用流程
首先 然后填充好自己写的代码 之后save as 存到自己的文件夹 会自动弹出 配置 Assignments settings 之后第一次编译 成功后processing star ...
- 蓝桥杯-摔手机问题【dp】
非常详细的题解:戳这里 例题:poj-3783 Balls Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 115 ...
- 左神算法第一节课:复杂度、排序(冒泡、选择、插入、归并)、小和问题和逆序对问题、对数器和递归(Master公式)
第一节课 复杂度 排序(冒泡.选择.插入.归并) 小和问题和逆序对问题 对数器 递归 1. 复杂度 认识时间复杂度常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成的操作,叫做常数 ...
- BellmanFord为什么只需松弛V-1次
首先s不用松弛,V-=1 然后对于其他的顶点..每次都至少能完全松弛一个顶点.. 为什么呢..因为初始d[s]=0,所以和s相邻接的边都将被松弛完全..无论松弛的顺序 那么对于这个图,无论松弛的顺序都 ...
- Install pyaudio on Ubuntu
pip install python3-pyaudio sudo apt-get install portaudio19-dev python-all-dev pip install pyaudio
- 字节跳动-前端面试题 Multi Promise Order
字节跳动-前端面试题 Multi Promise Order Promise Order Async/Await async function async1 () { console.log('asy ...
- play games for learning web skills
play games for learning web skills CSS flexbox https://codepip.com/games/flexbox-froggy/ CSS grid ht ...
- Self-XSS All In One
Self-XSS All In One Self-XSS(自跨站脚本)攻击 警告! 使用此控制台可能会给攻击者可乘之机,让其利用 Self-XSS(自跨站脚本)攻击来冒充您并窃取您的信息.请勿输入或粘 ...