H5 微信公众号 授权登录 前后端分离篇(后端02)
文章目录
- 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)相关推荐
- H5 微信公众号 授权登录 前后端分离篇(资料准备+前端01)
实现微信公众号授权登录,很简单,但是注意的地方要细心,小伙伴们跟着我的思路一起实现吧! 文章目录 一.帐号申请 1. 正式账号 2. 测试帐号 二.微信文档 2.1. 文档主页 2.2. 授权流程 2 ...
- H5 微信公众号 授权登录 前后端分离篇(前后端联调_03)
文章目录 1. 获取code 2. 返回报文解析 3. 源码 1. 获取code 前端请求微信获取code 回调信息 https://open.weixin.qq.com/connect/oauth2 ...
- H5微信公众号授权登录
目录 一.封装获取code的函数.存储token函数.获取token函数 二.点击请求微信公众号授权并跳转 三.重定向跳转会当前链接获取code登录 四.整体流程的描述: 一.封装获取code的函数. ...
- vue h5微信公众号授权获取用户信息
vue h5微信公众号授权获取用户信息 1.申请测试账号 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 2.修改网页授权 ...
- uniapp微信公众号授权登录,本地调试
在项目如何集中微信公众号授权登录 后端跳转获取code码,最后拼接, //保留登录前的页面参数.为了不让参数传到后台,并且在微信授权链接带来带去,可以将参数和登录前的地址存到本地缓存let route ...
- 【SpringBoot学习】46、SpringBoot 集成 Uniapp 实现微信公众号授权登录
文章目录 一.公众号环境搭建 二.Spring Boot 集成微信公众号 1.application.yml 微信配置 2.控制层接口 三.Uniapp 实现授权登录 一.公众号环境搭建 本篇文章使用 ...
- H5 实现公众号授权登录
H5 实现公众号授权登录 1. 开发者在微信公众平台申请开发者账号,并获取开发者ID和AppSecret. 2. 开发者在微信公众平台设置授权回调页面域名,并获取授权域名. 3. 开发者在H5网页中引 ...
- 微信公众号授权登录(asp.net + angular)
微信是时下最火的,上面有数以亿计的用户,如果能接入微信将大大减低注册门槛,当然,接入微信登录是有门槛的.微信登录一般有两个,一个是微信开放平台授权登录,一个是微信公众号授权登录,两者都需要认证才可以继 ...
- vue移动端项目微信公众号授权登录
前言 在我们做移动端项目时, 很多功能是以登录后才能进行后续的操作, 并且许多pc端的网页都有微信扫码登录功能, 为了做到pc与移动端统一, 往往移动端项目需要添加微信登录功能, 那么为什么手机端不能 ...
最新文章
- 专业软件测试,各类专业软件测试情况
- python爬取网页书籍名称代码_python爬取亚马逊书籍信息代码分享
- 只用最适合的! 全面对比主流 .NET 报表控件:水晶报表、FastReport、ActiveReports 和 Stimulsoft...
- 聊聊买卖股票的最佳时机
- AtCoder AGC029E Wandering TKHS
- Spark on K8S及history服务部署
- Natasha V1.3.6.0 的升级日志
- Struts2中过滤器,拦截器,监听器他们之间有什么区别?
- LeetCode 563二叉树的坡度-简单
- vmware虚拟机克隆CentOS7 出现的网络问题解决办法
- 透视变换矩阵(单应矩阵)计算:findHomography 与 getPerspectiveTransform
- Java拓展(数据类型及其大小)
- django 1.8 官方文档翻译: 3-1-1 URL调度器
- webserver/CGI
- 批量执行newman
- Vue 双向数据绑定原理分析
- Google guava之Multimap简介说明
- 体系结构学习7-乱序执行
- vnc桌面手机版,推荐5款好用的vnc桌面手机版软件
- MinIO客户端mc使用
热门文章
- ​【文末有福利】连续型随机变量及实例详解
- 中国科学院大学庆生 一颗小行星以“国科大”命名
- 一道皮皮物理题的皮皮解法
- bulk这个词的用法_15、形容词与副词(二)比较的用法
- 【保存】maven的pom.xml标签的xsi:schemaLocation处报错
- 【优秀文章保存】webcollector抽取新闻正文
- 数据结构实验之查找四:二分查找
- 可视化的状态机(FSM)
- vim的强大,vim设置和插件的使用,脱离windows才是王道
- Hive表 Parquet压缩 , Gzip,Snappy,uncompressed 效果对比