Spring Boot + 微信小程序——登录凭证校验DEMO
基本概念
微信小程序-登录凭证校验:通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。
微信小程序API
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html
源代码
package club.zstuca.myzstu.provider;import club.zstuca.myzstu.consts.Consts;
import club.zstuca.myzstu.httpclient.HttpClientUtils;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;/*** @Author ShenTuZhiGang* @Version 1.0.0* @Date 2020-02-10 10:59*/
@Component
public class WeChatProvider {@Value("${wechat.login.appid}")private String APPID ;@Value("${wechat.login.secret}")private String SECRET;private final String WX_URL = "https://api.weixin.qq.com/sns/jscode2session";@Value("${wechat.login.grant-type}")private String grantType;public String getOpenId(String code) {String openid = "";Map header = new HashMap<>();header.put("User-Agent", Consts.AGENT);Map params = new HashMap<>();params.put("appid", APPID);params.put("secret", SECRET);params.put("js_code", code);params.put("grant_type", grantType);String response = HttpClientUtils.doGetRequest(WX_URL, header, params);System.out.println(response);System.out.println(APPID);openid = JSONObject.parseObject(response).getString("openid");System.out.println(openid);return openid;}
}
常见问题
错误代码:40029
错误代码:40163
参考文章
https://bbs.csdn.net/topics/392185947
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
