文章目录

  • 1. 依赖
  • 2. 方法
1. 依赖
    <properties><weixin-java.version>4.2.0</weixin-java.version></properties><dependencies><dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-mp</artifactId><version>${weixin-java.version}</version></dependency>
</dependencies>
2. 方法
package com.gblfy.wx.h5.controller;import com.gblfy.wx.h5.vo.ResponseDto;
import lombok.AllArgsConstructor;
import me.chanjar.weixin.common.bean.WxOAuth2UserInfo;
import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.io.IOException;/*** 登录获取用户信息入口** @author gblfy* @date 2021-12-28*/
@RestController
@AllArgsConstructor
public class LoginController {private static final Logger logger = LoggerFactory.getLogger(LoginController.class);private final WxMpService wxMpService;/*** 获取用户信息* <p>* 1.接收前端code参数* 2.通过code、Appid、Secret参数获取 access_token和openid* 3.通过access_token和openid获取用户基本信息* </p>*/@PostMapping("/login")public ResponseDto getCode(@RequestParam(value = "code", required = true) String code) throws IOException, WxErrorException {logger.info("接收前端code-> 【{}】", code);WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);logger.info("access_token-> 【{}】", wxOAuth2AccessToken.getAccessToken());logger.info("openid-> 【{}】", wxOAuth2AccessToken.getOpenId());WxOAuth2UserInfo userInfo = wxMpService.getOAuth2Service().getUserInfo(wxOAuth2AccessToken, null);logger.info("nickname-> 【{}】", userInfo.getNickname());logger.info("headimgurl-> 【{}】", userInfo.getHeadImgUrl());logger.info("openid-> 【{}】", userInfo.getOpenid());ResponseDto responseDto = new ResponseDto();responseDto.setContent(userInfo);return responseDto;}
}

H5 微信公众号 授权登录 前后端分离篇(后端02)相关推荐

  1. H5 微信公众号 授权登录 前后端分离篇(资料准备+前端01)

    实现微信公众号授权登录,很简单,但是注意的地方要细心,小伙伴们跟着我的思路一起实现吧! 文章目录 一.帐号申请 1. 正式账号 2. 测试帐号 二.微信文档 2.1. 文档主页 2.2. 授权流程 2 ...

  2. H5 微信公众号 授权登录 前后端分离篇(前后端联调_03)

    文章目录 1. 获取code 2. 返回报文解析 3. 源码 1. 获取code 前端请求微信获取code 回调信息 https://open.weixin.qq.com/connect/oauth2 ...

  3. H5微信公众号授权登录

    目录 一.封装获取code的函数.存储token函数.获取token函数 二.点击请求微信公众号授权并跳转 三.重定向跳转会当前链接获取code登录 四.整体流程的描述: 一.封装获取code的函数. ...

  4. vue h5微信公众号授权获取用户信息

    vue h5微信公众号授权获取用户信息 1.申请测试账号 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 2.修改网页授权 ...

  5. uniapp微信公众号授权登录,本地调试

    在项目如何集中微信公众号授权登录 后端跳转获取code码,最后拼接, //保留登录前的页面参数.为了不让参数传到后台,并且在微信授权链接带来带去,可以将参数和登录前的地址存到本地缓存let route ...

  6. 【SpringBoot学习】46、SpringBoot 集成 Uniapp 实现微信公众号授权登录

    文章目录 一.公众号环境搭建 二.Spring Boot 集成微信公众号 1.application.yml 微信配置 2.控制层接口 三.Uniapp 实现授权登录 一.公众号环境搭建 本篇文章使用 ...

  7. H5 实现公众号授权登录

    H5 实现公众号授权登录 1. 开发者在微信公众平台申请开发者账号,并获取开发者ID和AppSecret. 2. 开发者在微信公众平台设置授权回调页面域名,并获取授权域名. 3. 开发者在H5网页中引 ...

  8. 微信公众号授权登录(asp.net + angular)

    微信是时下最火的,上面有数以亿计的用户,如果能接入微信将大大减低注册门槛,当然,接入微信登录是有门槛的.微信登录一般有两个,一个是微信开放平台授权登录,一个是微信公众号授权登录,两者都需要认证才可以继 ...

  9. vue移动端项目微信公众号授权登录

    前言 在我们做移动端项目时, 很多功能是以登录后才能进行后续的操作, 并且许多pc端的网页都有微信扫码登录功能, 为了做到pc与移动端统一, 往往移动端项目需要添加微信登录功能, 那么为什么手机端不能 ...

最新文章

  1. 专业软件测试,各类专业软件测试情况
  2. python爬取网页书籍名称代码_python爬取亚马逊书籍信息代码分享
  3. 只用最适合的! 全面对比主流 .NET 报表控件:水晶报表、FastReport、ActiveReports 和 Stimulsoft...
  4. 聊聊买卖股票的最佳时机
  5. AtCoder AGC029E Wandering TKHS
  6. Spark on K8S及history服务部署
  7. Natasha V1.3.6.0 的升级日志
  8. Struts2中过滤器,拦截器,监听器他们之间有什么区别?
  9. LeetCode 563二叉树的坡度-简单
  10. vmware虚拟机克隆CentOS7 出现的网络问题解决办法
  11. 透视变换矩阵(单应矩阵)计算:findHomography 与 getPerspectiveTransform
  12. Java拓展(数据类型及其大小)
  13. django 1.8 官方文档翻译: 3-1-1 URL调度器
  14. webserver/CGI
  15. 批量执行newman
  16. Vue 双向数据绑定原理分析
  17. Google guava之Multimap简介说明
  18. 体系结构学习7-乱序执行
  19. vnc桌面手机版,推荐5款好用的vnc桌面手机版软件
  20. MinIO客户端mc使用

热门文章

  1. ​【文末有福利】连续型随机变量及实例详解
  2. 中国科学院大学庆生 一颗小行星以“国科大”命名
  3. 一道皮皮物理题的皮皮解法
  4. bulk这个词的用法_15、形容词与副词(二)比较的用法
  5. 【保存】maven的pom.xml标签的xsi:schemaLocation处报错
  6. 【优秀文章保存】webcollector抽取新闻正文
  7. 数据结构实验之查找四:二分查找
  8. 可视化的状态机(FSM)
  9. vim的强大,vim设置和插件的使用,脱离windows才是王道
  10. Hive表 Parquet压缩 , Gzip,Snappy,uncompressed 效果对比